2011-02-09 24 views
6

Estoy usando el servidor de mamp para probar todas mis páginas web. Soy nuevo en Python. Puedo ejecutar un script en el intérprete de Python que normalmente imprimirá un hello world.Hacer que los scripts de Python funcionen en MAMP

print "Hello World!" 

por lo que utiliza la misma línea en un archivo con el nombre test.py. Entonces, ¿cómo debería ejecutar esto en la web?

Como soy nuevo en Python, he intentado algunas cosas normales, colocando test.py en/htdocs/cgi-bin/e intentar abrirlo. Pero dice página prohibida.

Cualquiera por favor ayúdenme a hacer este trabajo. Gracias

+0

¿Ha encontrado la solución? – Volatil3

+0

@ Volatil3 chmod +777 test.py funcionó para mí. – RaviTeja

Respuesta

5

Para hacer esto con CGI, recomiendo leer el Python CGI docs. Como mínimo, es necesario dar salida a las etiquetas de tipo de contenido y html:

print "Content-Type: text/html" 
print 
print "<html>" 
print "<head>" 
print "<title>Example of Python CGI script</title>" 
print "</head>" 
print "<body>" 
print "Hello World!" 
print "</body>" 
print "</html>" 

También, asegúrese de que el software de servidor web tiene permiso para ejecutar la secuencia de comandos. Debería poder usar chown para establecer la propiedad y chmod para configurar el permissions.

+0

Hola, @matt, soy muy nuevo en las aplicaciones web. Puede ser más elocuente con la forma de ejecutar los comandos. Estoy usando un servidor MAMP y mi servidor local redirige a htdocs /. ¿Dónde debería colocar el archivo python y cómo ejecutar los comandos chmod? – RaviTeja

+0

@Ravi Teja: nunca he trabajado en MAMP; espero que mi experiencia en Linux y WAMP sea suficiente. Además, parte de esto depende de la configuración, por lo que es posible que deba ajustar lo siguiente para su sistema. Poner el script en/htdocs/cgi-bin debería funcionar, suponiendo que para eso está configurada la configuración de su servidor. Ejecute chown & chmod desde la línea de comando; es más fácil estar en el mismo directorio que el archivo. Recomiendo hacer un 'chown apache: apache hello.py' para establecer la propiedad del archivo en el servidor web (suponiendo que el servidor se ejecuta bajo el usuario apache). Luego, un 'chmod u + x' para permitir que se ejecute el programa. – GreenMatt

+0

Gracias por su rápida respuesta, así que cuando intento ejecutar el comando chown desde la terminal yendo al directorio cgi-bin, recibí un error chown: apache: argumento inválido – RaviTeja

1

Sepa que esta es una publicación anterior, pero agregaré mis dos centavos.

pongo mis guiones * .py en/Aplicaciones/MAMP/cgi-bin

empezar mis guiones con #!/Bin/usr/pitón

    print "Content-type:text/html \r\n\r\b" 

continuación chmod 755 .py y ejecutarlo con ./ .py de cgi-bin

Espero que esto ayude :)

Cuestiones relacionadas