2011-07-07 15 views
6

Quiero ejecutar el archivo python en el navegador. He instalado apache. y configuró el archivo httd.conf. He creado el archivo test.py. Luego intenté ejecutar test.py con mi navegador escribiendo htt://localhost/test.py. Cuando hago esto, me sale el siguiente error:Ejecutar un archivo .py en el navegador

Internal Server Error 
The server encountered an internal error or misconfiguration and was unable to complete your request. 
Please contact the server administrator, [email protected] and inform them of the time the error occurred, and anything you might have done that may have caused the error. 
More information about this error may be available in the server error log. 

En mi registro de errores

[Thu Jul 07 18:39:55 2011] [error] [client 127.0.0.1] (OS 2)The system cannot find the file specified. : couldn't create child process: 720002: test.py 
[Thu Jul 07 18:39:55 2011] [error] [client 127.0.0.1] (OS 2)The system cannot find the file specified. : couldn't spawn child process: C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/test.py 

Cuál podría ser el problema aquí?

+7

Ejecución de Python en el navegador significa que tiene que configurar el navegador, no su servidor. Cuando ejecuta Python en su navegador, su navegador (FireFox, IE, Opera, Safari, etc.) ejecuta Python. Esto no tiene nada que ver con Apache. ¿Qué estás ** realmente ** tratando de hacer? –

+0

@ S.Lott ¿Y cómo configurar el navegador? –

Respuesta

0

Si no lo ha hecho, debe configurar los permisos apropiados en test.py a 755.

+0

Gracias por responder, ¿cómo puedo establecer este permiso en Windows 7. –

+0

@Roayl Pinto? Buena pregunta; Soy un tipo Unix yo mismo. No me di cuenta de que estabas en Windows, y puede que no le importe a Apache. –

1

Si se trata de un programa CGI, asegúrese de que se ajusta a la especificación CGI (es decir, se da salida a una línea de cabecera con el tipo MIME y una línea en blanco antes de intentar escribir cualquier otra cosa)

0

Es el archivo en C:/Archivos de programa (x86)/Apache Software Foundation/Apache2.2/htdocs/como indica el mensaje de error. Si no es así, debe colocarlo allí o cambiar su configuración para que se vea en la ubicación correcta.

Además, como otras respuestas, verifique que tenga los permisos correctos y verifique que muestre todos los encabezados necesarios.

0

que cambiaría su URL a una más probable en el primer caso, es decir, en lugar de http://localhost/test.py el que usted ha citado (htt://localhost/test.py)

0

puede probar mod_python, es compatible con las aplicaciones web escritas en analizador obtiene python.the incrustado en el servidor como un módulo de apache para que la aplicación se ejecute más rápido que el cgi tradicional. Además, si desea seguir utilizando cgi, confirme que todos los archivos .py están en la carpeta llamada "cgi-bin" y tienen derechos de ejecución.

2

Opciones + ExecCGI bajo htdocs, ScriptAlias ​​/ cgi-bin/"C:/Archivos de programa/Apache Software Fundación/Apache2.2/cgi-bin /"

Es lo que tengo y funciona

+0

Su archivo probablemente debería estar en cgi-bin –

10

También puede suceder si su shebang no es correcto (por ejemplo, un Unix como #!/usr/bin/env python). Si este es el caso, cambiarlo por el camino correcto para su ejecutable de Python (por ejemplo: #!C:\Python26\python.exe) o buscar en esta respuesta: How do I ignore the Perl shebang on Windows with Apache 2?

Cuestiones relacionadas