Python & XAMPP для Windows: как?

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

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

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

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

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

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

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

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

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

Ответ 1

Да, вы правы, 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>

Ответ 2

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

Метод CGI:

  • В xampp\apache\conf\httpd.conf найдите эту строку: AddHandler cgi- script.cgi.pl   .asp. Измените его так, чтобы он выглядел так: AddHandler cgi- script  .cgi.pl.asp.py
  • В верхней части каждого созданного Python script задайте путь к вашей версии Python. Например, если ваш находится в C:\Python27, напишите: #!/Python27/python
  • Проведите тестовый код образца в 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, если что-то не работает read tihs:

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