Настройка Python в Windows / Apache?

Я хочу получить простой скрипт веб-страницы «hello world» на языке Python для работы в Windows Vista / Apache, но он будет поражать разные стороны. Я использую WAMP. Я установил mod_python, и модуль показывает, но я не совсем уверен, что мне делать, например. http.conf (такие вещи, как AddHandler mod_python .py, либо приводят меня к файлу, который не найден, либо к запрещенным, либо к ошибкам не найденного модуля при доступе к http: //localhost/myfolder/index.py). Я могу заставить mod_python.publisher работать, но нужно ли мне это / нужно?

Кто-нибудь может помочь?

Спасибо!

как я настроил django + apache, может быть полезно в StackOverflow: здесь

alexey 18.04.2020 20:12
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
8
1
19 826
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Вам НЕ НУЖНО mod_python для запуска кода Python в сети, вы можете использовать простое CGI-программирование для запуска вашего кода Python с инструкциями по следующей ссылке: http://www.imladris.com/Scripts/PythonForWindows.html

Это должно дать вам некоторые параметры конфигурации, необходимые для включения Python с CGI, а поиск в Google должен предоставить вам массу другой информации о том, как программировать на нем и тому подобное.

Mod_python полезен, если вам нужен немного более «дружественный» интерфейс или больший контроль над самим запросом. Вы можете использовать его для создания фильтров запросов и других вещей для сервера Apache, а с помощью обработчика издателя вы получаете более простой способ обработки запросов веб-страниц через python.

Обработчик издателя работает, сопоставляя URL-адреса с объектами / функциями Python. Это означает, что вы можете определить функцию с именем 'foo' в своем файле python, и любой запрос к http: // локальный / foo вызовет эту функцию автоматически. Подробнее здесь: http://www.modpython.org/live/current/doc-html/hand-pub-alg-trav.html

Что касается конфигурации Apache, чтобы все работало, что-то вроде этого должно вам хорошо послужить

<Directory /var/www/html/python/>
  SetHandler mod_python
  PythonHandler mod_python.publisher
  PythonDebug On
</Directory>

Если у вас есть / var / www / html /, настроенный как корень вашего веб-сервера, и в нем есть файл с именем index.py в каталоге python /, то любой запрос к http: // локальный / python / foo должен вызывать функцию foo () в index.py, или сбой с кодом 404, если он не существует.

AddHandler mod_python .py

Вы установили PythonHandler?

В наши дни подумайте об использовании WSGI вместо собственных интерфейсов mod-python для более широких вариантов развертывания. Либо через поддержку WSGI в mod-python, либо, что лучше, через mod-wsgi. (CGI через, например, wsgiref также будет работать нормально, и его легко настроить в среде разработки, где вас не заботит его бесполезная производительность.)

Ответ принят как подходящий

Держитесь подальше от mod_python. Одна из распространенных ошибочных идей заключается в том, что mod_python похож на mod_php, но для Python. Это неправда. Wsgi - это стандарт для запуска веб-приложений Python, определенный PEP 333. Так что используйте вместо этого mod_wsgi.

Или, в качестве альтернативы, используйте веб-фреймворк с сервером. Вишня особенно хорош. Вы сможете запускать свое приложение как автономно, так и через mod_wsgi.

Пример приложения Hello World с использованием cherrypy:

import cherrypy

class HelloWorld(object):
    def index(self):
        return "Hello World!"
    index.exposed = True

application = HelloWorld()
if __name__ == '__main__':
    cherrypy.engine.start()
    cherrypy.engine.block()

Очень просто, да? Запуск этого приложения непосредственно на python запустит веб-сервер. Настройка mod_wsgi для него заставит его работать внутри apache.

Запуск приложения mod_wsgi на Apache довольно прост. Я определенно рекомендую использовать CherryPy, и он хорошо работает с Apache и mod_wsgi, хотя у него есть собственный легкий сервер.

Mohan Gulati 07.01.2010 21:13

Расскажите самым простым способом, как запускать файлы python из apache

Shahid Karimi 04.10.2011 16:25

У меня такая ошибка: Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator, [email protected] and inform them of the time the error occurred, and anything you might have done that may have caused the error. More information about this error may be available in the server error log. Apache/2.2.4 (Win32) PHP/5.2.1 Server at localhost Port 80

Shahid Karimi 04.10.2011 16:41

Та же ошибка, что и @MarthaJames, и в журнале говорится, что система не может найти файл на d:/wamp/www/test.py, но он существует там

Sami 12.05.2017 15:54

Другие вопросы по теме