2010-12-30 14 views
6

¿Alguien me puede ayudar a obtener una secuencia de comandos de Python ejecutándose en Hostgator Shared hosting? Trabajo principalmente con PHP, pero me ha gustado Python y me gustaría tratar de hacerlo funcionar en la web. La única forma en que alguna vez he ejecutado Python es con el intérprete, o a través de un terminal, con> Python file.py. Intenté simplemente cargar un archivo hello world al servidor web, pero todo lo que genera es el origen del script. Hablé con hostgator, pero lo único que pudieron decirme es que necesito usar un despachador, del cual no puedo encontrar un ejemplo. Todo lo que quiero saber es cómo hacer un <p> Hola </p > salida al navegador.Web Python Pregunta

Gracias, y lo siento si estoy loco, he estado buscando en Google esta semana.

+0

he actualizado mi respuesta para hacer frente a su comentario. –

+0

Agregué otra actualización. –

Respuesta

8

Bueno, obtuve this desde el propio sitio de soporte de Hostgator.

Asumiendo que su anfitrión se está ejecutando Python 2.x, a continuación, se puede adaptar el ligada a la escritura de la siguiente manera:

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

y ponerlo en su carpeta cgi-bin con permisos de 755.

Actualización: En términos de "moverse" por la carpeta cgi-bin: eso dependerá de las opciones que permita su paquete de alojamiento. Mira Bottle para un despachador simple que se ajusta en un solo módulo de Python. Se puede implementar a través de CGI,

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

actualizarse una vez más: Aparte de los documentos de la botella, le sugiero que lea el Python docs about CGI.

+0

¡Funcionó muy bien! ¿Hay alguna forma de evitar la carpeta cgi-bin? ¿O tal vez usar .htaccess para escribirlo desde la url? – Josh

+0

Última pregunta, ¿cuál es la forma más sencilla de acceder a get/post en Python con esta configuración? Algo similar a $ _GET/$ _POST en PHP? – Josh

0

No sé de Hostgator, pero quiere que su servidor web vea su script de Python como una secuencia de comandos CGI ejecutable. Eso significa hacerlo ejecutable y asegurar que haya un #! en él y ponerlo en cgi-bin, o configurar su servidor para reconocer .py como una extensión de archivo de script CGI. Here es un script de ejemplo simple y algo de contexto que utiliza el módulo cgi.

0

En pocas palabras necesita modificar su archivo .htaccess para permitir que Apache interprete el archivo python como script cgi, luego escriba su script python con "#!/Usr/bin/python" y no olvide generar encabezado http (de lo contrario obtendrá un error interno 500)

puede comprobar this post para obtener la instrucción completa