2010-12-30 2 views
6

Qualcuno può aiutarmi a ottenere uno script Python in esecuzione su Hostgator Hosting condiviso? Io lavoro principalmente con PHP, ma mi sono appassionato a Python e vorrei provare a farlo funzionare sul web. L'unico modo con cui ho eseguito Python è con l'interprete o tramite un terminale, con> Python file.py. Ho provato solo a caricare un file Hello World sul server web, ma tutto ciò che esce è la fonte dello script. Ho parlato con hostgator, ma tutti loro potevano dirmi che dovevo usare un dispatcher, di cui non riesco a trovare un esempio. Tutto quello che voglio sapere è come creare un output Hello </p > nel browser.Web Python Domanda

Grazie, e scusa se sono rambley, sono stato su Google per un po 'e per tutta la settimana.

+0

ho aggiornato la mia risposta per affrontare il tuo commento. –

+0

Ho aggiunto un altro aggiornamento. –

risposta

8

Bene, ho ricevuto this dal sito di supporto di Hostgator.

Assumendo che il host è in esecuzione Python 2.x, allora si può adattare il legato da script come segue:

#!/usr/bin/python 
print "Content-type: text/html\r\n\r\n" 
print "<html><head>" 
print "<title>CGI Test</title>" 
print "</head><body>" 
print "<p>Test page using Python</p>" 
print "</body></html>" 

e metterlo nella cartella cgi-bin con i permessi di 755.

Aggiornamento: In termini di "spostamento" della cartella cgi-bin: ciò dipenderà dalle opzioni consentite dal pacchetto di hosting. Guarda Bottle per un semplice dispatcher che si inserisce in un singolo modulo Python. È possibile distribuire utilizzando CGI,

import bottle 
# Put your bottle code here, following the docs on the Bottle site 
bottle.run(server=bottle.CGIServer) 

Ulteriore aggiornamento: A parte la documentazione bottiglia, vi consiglio di leggere il Python docs about CGI.

+0

Ha funzionato alla grande! C'è un modo per aggirare la cartella cgi-bin? O forse usi .htaccess per scriverlo dall'URL? – Josh

+0

Ultima domanda, qual è il modo più semplice per accedere a get/post in Python, con questa configurazione? Qualcosa di simile a $ _GET/$ _POST in PHP? – Josh

0

Non conosco Hostgator, ma tu vuoi che il tuo server web veda il tuo script Python come uno script CGI eseguibile. Ciò significa renderlo eseguibile e garantire che ci sia un #! in esso e inserendolo in cgi-bin o impostando il server in modo che riconosca .py come estensione di file di script CGI. Here è un semplice script di esempio e alcuni contesti che utilizzano il modulo cgi.

0

In breve è necessario modificare il file .htaccess per consentire ad Apache di interpretare il file python come script cgi, quindi scrivere il proprio script python con "#!/Usr/bin/python" e non dimenticare di mostrare l'intestazione http (altrimenti si otterrà un errore interno 500)

È possibile controllare this post per ottenere le istruzioni complete