Python & XAMPP в Windows: как? - PullRequest
       36

Python & XAMPP в Windows: как?

10 голосов
/ 03 декабря 2011

Я установил на Win7x64 Xampp и Python 2.7.

Теперь я пытаюсь получить «мощь» языка Python ... как я могу это сделать?

Я пытался с mod_python и mod_wsgi, но первая версия не существует для моей версии Python, и когда я пытаюсь запустить Apache после установки wsgi, он выдает ошибку

< Directory "\x93C:/wsgi_app\x94"> path is invalid

Я добавил пробел между <и 'directory', чтобы сделать строку видимой здесь. </p>

Итак ... Кто-нибудь знает, есть ли небольшое руководство по установке этих функций?

Или кто-то достаточно любезен, чтобы объяснить мне шаг за шагом, что мне делать?

Спасибо и извините, если я не в состоянии объяснить меня.

Если вам что-то нужно, пожалуйста, спросите меня.

Ответы [ 2 ]

15 голосов
/ 12 января 2013

WSGI намного лучше , но, по крайней мере, я погуглил и попытался настроить его на несколько дней безуспешно. CGI менее эффективен, но, поскольку большинство людей используют окна только для разработки, это мало что меняет. Это супер легко настроить!

Метод CGI:

  1. В xampp \ apache \ conf \ httpd.conf найдите эту строку: AddHandler cgi-script .cgi .pl .asp . Измените его так, чтобы он выглядел так: AddHandler cgi-script .cgi .pl .asp .py
  2. Вверху каждого скрипта Python, который вы создаете, укажите путь к вашей версии Python. Например, если ваш находится в C: \ Python27, напишите: #! / Python27 / python
  3. Поместите тест образец тестового кода в xampp \ cgi-bin и получите доступ к localhost / cgi-bin / your-file.py

образец тестового кода (измените закомментированный путь Python в соответствии с тем, где он установлен):

#!C:/Python27/python

print "Content-type: text/html\n\n"
print "<html><head><title>Hello World from Python</title></head><body>Hello World from a Python CGI Script</body></html>"

Я проверял это в xampp 1.8.1, если что-то не работает, прочитайте их:

источник: http://elvenware.com/charlie/development/web/Python/Xampp.html

14 голосов
/ 03 декабря 2011

Да, вы правы, mod_python не будет работать с Python 2.7.Так что mod_wsgi - лучший вариант для вас.

Я бы порекомендовал AMPPS, поскольку среда python по умолчанию включена с mod_python и python 2.5. Веб-сайт AMPPS

, если вы все еще хотите продолжить,

Добавьте эту строку в httpd.conf

LoadModule wsgi_module modules/mod_wsgi.so

Раскомментируйте строку в httpd.conf

Include conf/extra/httpd-vhosts.conf

Откройте файл vhost httpd-vhosts.conf и добавьте

NameVirtualHost 127.0.0.1:80
<VirtualHost 127.0.0.1:80>
    <Directory "path/to/directory/in/which/wsgi_test.wsgi/is/present">
        Options FollowSymLinks Indexes
        AllowOverride All
        Order deny,allow
        allow from All
    </Directory>
    ServerName 127.0.0.1
    ServerAlias 127.0.0.1
    WSGIScriptAlias /wsgi "path/to/wsgi_test.wsgi"
    DocumentRoot "path/to/htdocs"
    ErrorLog "path/to/log.err"
    CustomLog "path/to/log.log" combined
</VirtualHost>

Добавьте следующие строки в wsgi_test.wsgi

def application(environ, start_response):
    status = '200 OK'
    output = 'Hello World!'

    response_headers = [('Content-type', 'text/plain'),
                        ('Content-Length', str(len(output)))]
    start_response(status, response_headers)

    return [output]

Примечание: несделайте тестовый каталог в htdocs.Потому что я еще не пробовал.Эти шаги работали для меня в AMPPS.:)

Затем перейдите к 127.0.0.1/wsgi в вашем любимом браузере.Вы увидите Hello World!.

Если вы не видите, следуйте QuickConfigurationGuide

ИЛИ

Вы можете добавить эти строки в httpd.conf

<IfModule wsgi_module>
<Directory path/to/directory>
    Options FollowSymLinks Indexes
    AllowOverride All
    Order deny,allow
    allow from All
</Directory>
WSGIScriptAlias /wsgi path/to/wsgi_test.wsgi
</IfModule>
...