2011-12-02 13 views
10

He instalado en mi Win7x64 Xampp y Python 2.7.Python y XAMPP en Windows: cómo hacerlo?

Ahora estoy tratando de obtener el "poder" del lenguaje Python ... ¿cómo puedo hacerlo?

He tratado con mod_python y mod_wsgi pero el primero no existe para mi versión de Python, y cuando intento iniciar Apache después de instalar wsgi me da un error

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

He añadido una espacio entre < y 'directorio' para hacer que la cadena sea visible aquí.

Entonces ... ¿Alguien sabe si hay un pequeño tutorial para instalar estas características?

¿O alguien tiene la amabilidad de explicarme paso a paso qué debo hacer?

Gracias y lo siento si no puedo explicarme.

Si necesita algo, pregúnteme.

+0

Ahora me da "error 500" o "error 403" :( – Bonny1992

Respuesta

14

Sí, tiene razón, mod_python no funcionará con Python 2.7. Entonces mod_wsgi es la mejor opción para ti.

Recomendaría AMPPS porque el entorno python está habilitado por defecto con mod_python y python 2.5. AMPPS Website

si todavía desea continuar,

Añadir esta línea en httpd.conf

LoadModule wsgi_module modules/mod_wsgi.so 

elimine la línea en httpd.conf

Include conf/extra/httpd-vhosts.conf 

de archivos host virtual abierto httpd-host virtuales .conf y agregue

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> 

añadir las siguientes líneas en 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] 

Nota: No haga el directorio de prueba en htdocs. Porque aún no lo he intentado. Estos pasos me funcionaron en AMPPS. :)

Luego acceda a 127.0.0.1/wsgi en su navegador favorito. Verás Hello World !.

Si no aparece, siga QuickConfigurationGuide

O

Puede agregar estas líneas en 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> 
+1

¿Es necesario el host virtual? :) Gracias por la respuesta de todos modos :) :) – Bonny1992

+0

No, no es necesario. Puede agregar estas líneas a httpd.conf también. wsgi_module Opciones FollowSymLinks índices AllowOverride All Orden negar, permiten Dejar de todas/ruta WSGIScriptAlias ​​wsgi/a/wsgi_test.wsgi

+0

Ok con obras AMPPS ahora :) ¿Pero ahora puedo comenzar las aplicaciones de Python desde mi servidor web? :) – Bonny1992

14

WSGI es mucho mejor, pero por lo menos busqué en Google e intenté configurarlo durante días sin éxito. CGI es menos eficiente, pero como la mayoría de las personas usa Windows solo para el desarrollo, hace poca/ninguna diferencia. ¡Es súper fácil de configurar!

método CGI:

  1. En xampp \ apache \ conf \ httpd.conf busque esta línea: AddHandler cgi-script cgi .pl .asp. Modifíquelo para que se vea así: AddHandler cgi-script .cgi .pl .asp .py
  2. En la parte superior de cada script de Python que cree, establezca la ruta a su versión de Python. Por ejemplo, si el suyo es en C: \ python27 escribir: #!/Python27/pitón
  3. puesto prueba el código de prueba muestra en xampp \ cgi-bin y el acceso localhost/cgi-bin/your-file.py

código de prueba de muestra (modificar comentó ruta pitón de acuerdo donde se han instalado):

#!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>" 

he probado esto en xampp 1.8.1 si algo no funciona tihs de lectura:

source: http://elvenware.com/charlie/development/web/Python/Xampp.html