Foros del Web » Administración de Sistemas » Apache »

Las FAQS no mencionan cómo correr *.py desde WINDOWS7+APACHE 2

Estas en el tema de Las FAQS no mencionan cómo correr *.py desde WINDOWS7+APACHE 2 en el foro de Apache en Foros del Web. Hola. Buscando en NET encuentro mucha info contradictoria... "NO INSTALES mod_wsgi", "NO lo hagas como CGI", "NO instales mod_python" etc... En las FAQS de PYTHON ...
  #1 (permalink)  
Antiguo 14/04/2013, 04:13
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 2 meses
Puntos: 22
Las FAQS no mencionan cómo correr *.py desde WINDOWS7+APACHE 2

Hola.

Buscando en NET encuentro mucha info contradictoria...

"NO INSTALES mod_wsgi",
"NO lo hagas como CGI",
"NO instales mod_python"

etc...

En las FAQS de PYTHON de FDW no hay info.

LO UNICO QUE QUIERO
es poder sacar por http://127.0.0.0.1/test.py
el resultado de un for()
con etiquetas html

Pero no comprendo de las muchas "opciones"
que aparecen cuál debe ser para mi WIN 7 con Apache 2
dado que solo pretendo correrle via WEB

Por favor me orientan.

GRACIAS
  #2 (permalink)  
Antiguo 14/04/2013, 07:49
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 3 meses
Puntos: 35
Respuesta: Las FAQS no mencionan cómo correr *.py desde WINDOWS7+APACHE 2

Querrás decir 127.0.0.1. Tal vez allí esté tu problema. En fin, simplemente tienes que correr el servidor cgi en el directorio en donde tienes tu archivo test.py (en este caso):

server.py
Código Python:
Ver original
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3.  
  4. import BaseHTTPServer
  5. import CGIHTTPServer
  6. import cgitb
  7.  
  8. cgitb.enable()
  9.  
  10. server = BaseHTTPServer.HTTPServer
  11. handler = CGIHTTPServer.CGIHTTPRequestHandler
  12. server_address = ("localhost", 8000)
  13. handler.cgi_directories = ["/"]
  14.  
  15. httpd = server(server_address, handler)
  16. httpd.serve_forever()

test.py
Código Python:
Ver original
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3.  
  4. print "Content-type: text/html"
  5. print
  6. print "<html><body><h1>Hola, mundo!</h1></body></html>"

Espero que te sirva.

  #3 (permalink)  
Antiguo 14/04/2013, 08:13
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 2 meses
Puntos: 22
Respuesta: Las FAQS no mencionan cómo correr *.py desde WINDOWS7+APACHE 2

Gracias CARBON.

Entonces el file server.py ¿donde lo ubico?
Y que instalo?
mod_wsgi, mod_python, otra cosa?

De momento solo tengo apache 2 corriendo muy bien.
  #4 (permalink)  
Antiguo 14/04/2013, 08:49
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 3 meses
Puntos: 35
Respuesta: Las FAQS no mencionan cómo correr *.py desde WINDOWS7+APACHE 2

Suponiendo que tu archivo test.py se encuentra en C:\Anarko\test.py colocas el servidor en C:\Anarko. Y accedes a él desde http://localhost:8000/test.py
  #5 (permalink)  
Antiguo 14/04/2013, 09:10
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Las FAQS no mencionan cómo correr *.py desde WINDOWS7+APACHE 2

Solamente como respuesta al titulo del tema:

Cita:
Las FAQS no mencionan cómo correr *.py desde WINDOWS7+APACHE 2
1.- En tratamos que todo lo que este publicado sea independiente del sistema operativo. Aunque estamos conscientes que existen ciertos problemas específicos en windows y mac os x.
2.- Recomendamos fuertemente NO usar apache para trabajar en un ambiente de desarrollo.
3.- Siempre tratamos de fomentar el uso de algún web framework para desarrollo web. A menos que se trate de solamente servir contenido estático, en cuyo caso python no tendría nada que ver en el asunto.
4.- Si bien esto debería ser una FAQ, python != php, no por que en php se haga de una manera, significa que en python debe de ser igual.
  #6 (permalink)  
Antiguo 14/04/2013, 09:55
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 2 meses
Puntos: 22
Respuesta: Las FAQS no mencionan cómo correr *.py desde WINDOWS7+APACHE 2

Cita:
Iniciado por carbon Ver Mensaje
Suponiendo que tu archivo test.py se encuentra en C:\Anarko\test.py colocas el servidor en C:\Anarko. Y accedes a él desde http://localhost:8000/test.py
Gracias CARBON.

Dado que como menciono mas arriba, SOLO TENGO EL APACHE 2, lo que sigue es:
  1. instalar PYTHON
  2. Colocar el file server.py dentro de mi dir de files PRUEBA_PYTHON.py

¿correcto?

Es decir que no debo instalar ningu mod_wsgi, ni mod_python, etc... ¿?

Gracias Razpeitia
Cita:
Iniciado por razpeitia Ver Mensaje
...para desarrollo web.

...no por que en php se haga de una manera, significa que en python debe de ser igual.
Una pregunta para TODO SISTEMA OPERATIVO:

SIEMPRE, independiente de la plataforma, mis archivos web.py TIENEN que iniciar indicando la ruta de PYTHON ?, me refiero a:

#!/usr/bin/env python

esa línea va EN TODO ARCHIVO *.py de MAC, *NIX, WINDOWS, etc...

????
  #7 (permalink)  
Antiguo 14/04/2013, 12:19
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Las FAQS no mencionan cómo correr *.py desde WINDOWS7+APACHE 2

Cita:
Iniciado por Anarko Ver Mensaje
Una pregunta para TODO SISTEMA OPERATIVO:

SIEMPRE, independiente de la plataforma, mis archivos web.py TIENEN que iniciar indicando la ruta de PYTHON ?, me refiero a:

#!/usr/bin/env python

esa línea va EN TODO ARCHIVO *.py de MAC, *NIX, WINDOWS, etc...

????
1.- Esa linea se llama shebang.
2.- Es usado principalmente es sistemas unix. Y no es especifico de python.
3.- No es obligatorio pero para scripts cortos es una buena practica.
  #8 (permalink)  
Antiguo 14/04/2013, 12:59
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 2 meses
Puntos: 22
Respuesta: Las FAQS no mencionan cómo correr *.py desde WINDOWS7+APACHE 2

Gracias por orientarme.

Cita:
Iniciado por razpeitia Ver Mensaje
No es obligatorio pero para scripts cortos es una buena practica.
Entonces puede ser omitida para correr aplicaciones que corran sobre http independientemente de la plataforma? (MAC, *NIX, WINDOWS, BSD, etc...)
  #9 (permalink)  
Antiguo 14/04/2013, 13:13
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Las FAQS no mencionan cómo correr *.py desde WINDOWS7+APACHE 2

Cita:
Iniciado por Anarko Ver Mensaje
Gracias por orientarme.

Entonces puede ser omitida para correr aplicaciones que corran sobre http independientemente de la plataforma? (MAC, *NIX, WINDOWS, BSD, etc...)
Si.

Aunque el hecho que estén no significan que no van a correr. Tampoco quita el hecho que si es omitido va a ser multiplataforma, eso no depende del shebang.

No se que trates de hacer, te recomiendo darle una leída al tema ¿Como hacer preguntas en el foro de python? .
  #10 (permalink)  
Antiguo 14/04/2013, 13:55
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 2 meses
Puntos: 22
Respuesta: Las FAQS no mencionan cómo correr *.py desde WINDOWS7+APACHE 2

Cita:
Iniciado por razpeitia Ver Mensaje
Tampoco quita el hecho que si es omitido va a ser multiplataforma, eso no depende del shebang.
Justamente lo que quiero es correr via HTTP sobre APACHE sencillas lineas de for() y condicionales desde archivos *.py sin utilizar la shebang y sobre W7.

Puedes decirme que hacer para ello?

PD: tengo Apache 2 corriendo, y NADA +.
  #11 (permalink)  
Antiguo 14/04/2013, 14:00
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Las FAQS no mencionan cómo correr *.py desde WINDOWS7+APACHE 2

Otra cosa te recomiendo el uso de un web framework para esto. En vez de forzar hacerlo estilo php o cgi.

Si insistes en correr python estilo php entonces solamente es cuestión de configurar apache.

Aquí hay una guía para hacerlo con cgi y perl, pero puedes hacerlo igual pero con python.
http://httpd.apache.org/docs/2.2/howto/cgi.html

Básicamente haces un par de configuraciones:
1.- Cargas mod_cgi
2.- Configuras el cgi-bin path y el directorio.
3.- Configuras los handlers
4.- Escribes tu script el cual necesita forzosamente un shebang
5.- No olvides darle permisos a tu script.
6.- Listo
  #12 (permalink)  
Antiguo 14/04/2013, 16:50
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 2 meses
Puntos: 22
Respuesta: Las FAQS no mencionan cómo correr *.py desde WINDOWS7+APACHE 2

Gracias Raspetia.

Te he entendido que SI PUEDO:
Cita:
Iniciado por Anarko Ver Mensaje
...correr via HTTP sobre APACHE... *.py sin utilizar la shebang y sobre W7.
Cita:
Iniciado por razpeitia Ver Mensaje
4.- Escribes tu script el cual necesita forzosamente un shebang
En el caso de SI SER POSIBLE, puedes decirme que hacer para ello?
( correr *.py sin utilizar la shebang con Apache y en W7 )
  #13 (permalink)  
Antiguo 14/04/2013, 19:20
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Las FAQS no mencionan cómo correr *.py desde WINDOWS7+APACHE 2

Cita:
Iniciado por Anarko Ver Mensaje
Te he entendido que SI PUEDO:En el caso de SI SER POSIBLE, puedes decirme que hacer para ello?
( correr *.py sin utilizar la shebang con Apache y en W7 )
Me temo, que no puedo ayudar con esto por que, realmente correr scripts cgi no es problema de python, es la configuración del servidor web. Entonces moveré el tema al foro de apache donde seguramente te pueden orientar mejor.
  #14 (permalink)  
Antiguo 15/04/2013, 12:52
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: Las FAQS no mencionan cómo correr *.py desde WINDOWS7+APACHE 2

Si bien Phyton no es lo mío. lo tengo instalado, al igual que perl y php

Para correrlo en Apache bajo windows basta con lo siguiente
Intalar Phyton
Asociar los archivos. py a phyton.exe en el registro de windows (esta acción si se especifica durante la instalación se hace por defecto)
En httpd.con habilitar y agregar la extensión py a la directiva AddHandler
Código:
AddHandler cgi-script .cgi .pl .py
En httpd.conf (o en el archivo conf/extra/perl.conf, que suele estar comentado con un include en httpd.conf) asegurarase que figura
Código:
ScriptInterpreterSource Registry
Si los archivos .py están en la carpeta cgi-bin (o la que hallamos definido con ScriptAlias en httpd.conf) se ejecutarán directamente, de estar en otras carpetas, agregar la directiva
Código:
Options +ExecCgi
mediante un .htaccess

Es importante que siempre es conveniente usar
ScriptInterpreterSource Registry, esto permitirá que la misma script, pueda subirse a nuestro server con el shebang correcto sin tener que hacerle adaptaciones porque Apache tendrá cuenta la asociación del registro de windows para la extensión y no
#!/usr/bin/env python

Código Python:
Ver original
  1. #!/usr/bin/env python
  2. # -*- coding: UTF-8 -*-
  3. print "Content-Type: text/plain;charset=utf-8"
  4. print "Hello World!"
Con perl es exactamente lo mismo.
Un dato final, si utilizan la carpeta cgi-bin, hay que recordar que todo lo que esté alli se ejecuta a través del binario ejecutable correspondiente para la extensión de archivo, por lo tanto solo podrá contener scripts, ni imágenes, css. js, etc

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #15 (permalink)  
Antiguo 15/04/2013, 14:10
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 2 meses
Puntos: 22
Respuesta: Las FAQS no mencionan cómo correr *.py desde WINDOWS7+APACHE 2

Gracis Emprear.

¿ puede correrse PYTHON Sin tener instalado PERL ? ( para WEB, via HTTP Con Apache )
  #16 (permalink)  
Antiguo 15/04/2013, 14:41
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: Las FAQS no mencionan cómo correr *.py desde WINDOWS7+APACHE 2

si, perfectamente, agregué lo de perl porque es similar, es más lo que te mencioné antes es para ejecutarlo sobre http

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #17 (permalink)  
Antiguo 15/04/2013, 14:50
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 2 meses
Puntos: 22
Respuesta: Las FAQS no mencionan cómo correr *.py desde WINDOWS7+APACHE 2

Cita:
Iniciado por emprear Ver Mensaje
lo que te mencioné antes es para ejecutarlo sobre http
Y para Win, MAC, *nix debo colocar SIEMPRE esta linea al inicio:#!/usr/bin/env python

O cambia según la plataforma?
  #18 (permalink)  
Antiguo 15/04/2013, 15:12
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: Las FAQS no mencionan cómo correr *.py desde WINDOWS7+APACHE 2

Cita:
Iniciado por Anarko Ver Mensaje
Y para Win, MAC, *nix debo colocar SIEMPRE esta linea al inicio:#!/usr/bin/env python

O cambia según la plataforma?
A ver repito, para Windows lo más práctico es como te comenté, pero también de no habilitar
ScriptInterpreterSource Registry
podrías usar el bash, algo como esto
#!c:/python/bin/phyton.exe

En unix (supongo que en mac es lo mismo) necesariamente tenés que usar
#!/usr/bin/env python
modificando la ruta según como este configurado, por ejemplo
#!/usr/sbin/env python, etc

Incluso puede que es server tenga creados links simbólicos al ejecutable de phyton ó perl con lo cual dispondrías de varias ubicaciones

Para quienes usan windows y trabajan en local antes de subir a un server linux,
#!/usr/bin/env python
no afectará si lo hacemos como te dije, aunque la linea la incluiremos para que la script se ejecute en el server remoto

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #19 (permalink)  
Antiguo 11/09/2013, 11:40
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 2 meses
Puntos: 22
Respuesta: Las FAQS no mencionan cómo correr *.py desde WINDOWS7+APACHE 2

Cita:
Iniciado por emprear Ver Mensaje
En httpd.conf (o en el archivo conf/extra/perl.conf, que suele estar comentado con un include en httpd.conf) asegurarase que figura
Código:
ScriptInterpreterSource Registry
100% PERFECTO!
Por fin he logrado hacer correr PYTHON desde W7+Apache 2.2.25
y al adicionar tu línea ScriptInterpreterSource Registry me corre de manera indistinta en Windos y en Linux.



No tengo que cambiar nada!

Etiquetas: correr, faqs, python
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:43.