2011-12-02 12 views
10

Ho installato sul mio Win7x64 Xampp e Python 2.7.Python e XAMPP su Windows: come?

Ora sto cercando di ottenere il "potere" del linguaggio Python ... come posso farlo?

Ho provato con mod_python e mod_wsgi ma la prima non esiste per la mia versione di Python, e quando provo ad avviare Apache dopo l'installazione WSGI mi dà un errore

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

ho aggiunto un spazio tra e 'directory' per rendere visibile la stringa qui.

Quindi ... Qualcuno sa se c'è un piccolo tutorial per installare queste funzionalità?

O qualcuno è così gentile da spiegarmi passo dopo passo cosa devo fare?

Grazie e scusa se non sono così in grado di spiegarmi.

Se avete bisogno di qualcosa, per favore chiedetemi.

+0

Ora mi dà "errore 500" o "errore 403" :( – Bonny1992

risposta

14

Sì, hai ragione, mod_python non funzionerà con Python 2.7. Quindi mod_wsgi è l'opzione migliore per te.

Vorrei raccomandare AMPPS in quanto l'ambiente python è abilitato di default con mod_python e python 2.5. AMPPS Website

se si vuole ancora continuare,

Aggiungere questa riga in httpd.conf

LoadModule wsgi_module modules/mod_wsgi.so 

il commento dalla riga in httpd.conf

Include conf/extra/httpd-vhosts.conf 

aprire il file vhost httpd-vhosts .conf e aggiungi

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> 

Aggiungere le seguenti righe in 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: Non fare l'elenco di test in htdocs. Perché non l'ho ancora provato. Questi passaggi hanno funzionato per me in AMPPS. :)

Quindi accedere a 127.0.0.1/wsgi nel browser preferito. Vedrai Hello World !.

Se non vedi, seguire QuickConfigurationGuide

O

È possibile aggiungere queste righe nel file 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

L'host virtuale è necessario? :) Grazie per la risposta comunque :) :) – Bonny1992

+0

No, non è necessario. Puoi anche aggiungere queste linee a httpd.conf. Opzioni FollowSymLinks Indexes AllowOverride All Ordine negare, permettono permettono Da Tutti WSGIScriptAlias ​​/ percorso WSGI/a/wsgi_test.wsgi

+0

Ok con opere AMPPS ora :) Ma ora posso avviare le applicazioni Python dal mio server web? :) – Bonny1992

14

WSGI è molto meglio, ma almeno io cercò su google e provò a organizzarlo per giorni senza successo. CGI è meno efficiente, ma poiché molte persone usano Windows solo per lo sviluppo, fa poca o nessuna differenza. È semplicissimo da configurare!

metodo CGI:

  1. in XAMPP \ apache \ conf \ httpd.conf cercare questa linea: AddHandler cgi-script .cgi .pl asp. Modificalo in modo che appaia così: AddHandler cgi-script .cgi .pl .asp .py
  2. Nella parte superiore di ogni script Python che crei, imposta il percorso della tua versione di Python. Per esempio, se il vostro è in C: \ Python27 scrivere: #!/Python27/python
  3. messo prova esempio di codice di prova in XAMPP \ cgi-bin e l'accesso localhost/cgi-bin/your-file.py

codice di prova del campione (cambiamento commentato percorso pitone secondo cui lo avete installato):

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

ho provato questo in XAMPP 1.8.1 se qualcosa non funziona tihs lettura:

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