Configurando Python en Windows / Apache?

Quiero obtener un script de la página web “hello world” de Python para que se ejecute en Windows Vista / Apache, pero tenga diferentes paredes. Estoy usando WAMP. He instalado mod_python y el módulo muestra, pero no estoy muy seguro de lo que debo hacer en, por ejemplo, http.conf (cosas como AddHandler mod_python .py me llevan a un archivo que no se encuentra, o está prohibido, o el módulo no encontró errores al acceder a http: //localhost/myfolder/index.py ). Puedo hacer que mod_python.publisher funcione pero “quiero” esto / ¿necesito esto?

¿Alguien puede ayudar?

¡Gracias!

Manténgase alejado de mod_python . Una idea engañosa común es que mod_python es como mod_php , pero para python. Eso no es verdad. Wsgi es el estándar para ejecutar aplicaciones web de Python, definido por PEP 333 . Así que usa mod_wsgi en mod_wsgi lugar.

O alternativamente, use algún framework web que tenga un servidor. La de Cherrypy es particularmente buena. Podrás ejecutar tu aplicación tanto de forma independiente como a través de mod_wsgi .

Un ejemplo de la aplicación Hello World usando 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() 

Muy fácil, ¿eh? Ejecutar esta aplicación directamente en Python iniciará un servidor web. La configuración de mod_wsgi para que se ejecute dentro de apache.

No NECESITA mod_python para ejecutar el código de Python en la web, podría usar la progtwigción CGI simple para ejecutar su código de Python, con las instrucciones en el siguiente enlace: http://www.imladris.com/Scripts/PythonForWindows.html

Eso debería proporcionarle algunas de las opciones de configuración que necesita para habilitar Python con CGI, y una búsqueda en Google le dará una gran cantidad de información adicional sobre cómo progtwigr en ella y demás.

Mod_python es útil si desea una interfaz un poco más “amigable”, o más control sobre la solicitud en sí. Puede usarlo para crear filtros de solicitud y otras cosas para el servidor Apache, y con el controlador del editor obtendrá una forma más sencilla de manejar las solicitudes de página web a través de python.

El controlador del editor funciona mediante la asignación de direcciones URL a objetos / funciones de Python. Esto significa que puede definir una función llamada ‘foo’ en su archivo python, y cualquier solicitud a http: // localhost / foo llamará a esa función automáticamente. Más información aquí: http://www.modpython.org/live/current/doc-html/hand-pub-alg-trav.html

En cuanto a la configuración de Apache para hacer que las cosas funcionen, algo como esto debería servirle bien

  SetHandler mod_python PythonHandler mod_python.publisher PythonDebug On  

Si tiene / var / www / html / configurado como la raíz de su servidor web y tiene un archivo llamado index.py en el directorio python / allí, entonces cualquier solicitud a http: // localhost / python / foo debería llamar al foo () funciona en index.py, o falla con un 404 si no existe.

AddHandler mod_python .py

¿Has configurado ‘PythonHandler’?

En estos días, considere usar WSGI en lugar de interfaces nativas de mod-python para opciones de implementación más amplias. Ya sea a través del soporte WSGI de mod-python, o, quizás mejor, mod-wsgi. (CGI a través de, por ejemplo, wsgiref también funcionará bien y es fácil de configurar en un entorno de desarrollo en el que no le importa el rendimiento de la basura).