2011-08-16 12 views
5

Traté de correr servidor de desarrollo de Google App Engine usando Python 3.2 y Python 2.7, tiene errores en tanto:¿Cómo se ejecuta el servidor web del motor de aplicaciones de Google en Windows?

Python 2.7:

D:\nCdy\WA>C:\Python27\python.exe "D:\Program Files\Google\google_appengine\dev_ 
appserver.py" wa.py 
Traceback (most recent call last): 
    File "D:\Program Files\Google\google_appengine\dev_appserver.py", line 76, in 
<module> 
    run_file(__file__, globals()) 
    File "D:\Program Files\Google\google_appengine\dev_appserver.py", line 72, in 
run_file 
    execfile(script_path, globals_) 
    File "D:\Program Files\Google\google_appengine\google\appengine\tools\dev_apps 
erver_main.py", line 156, in <module> 
    from google.appengine.tools import dev_appserver 
    File "D:\Program Files\Google\google_appengine\google\appengine\tools\dev_apps 
erver.py", line 179, in <module> 
    mimetypes.add_type(mime_type, '.' + ext) 
    File "C:\Python27\lib\mimetypes.py", line 344, in add_type 
    init() 
    File "C:\Python27\lib\mimetypes.py", line 355, in init 
    db.read_windows_registry() 
    File "C:\Python27\lib\mimetypes.py", line 259, in read_windows_registry 
    for ctype in enum_types(mimedb): 
    File "C:\Python27\lib\mimetypes.py", line 249, in enum_types 
    ctype = ctype.encode(default_encoding) # omit in 3.x! 
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe0 in position 0: ordinal 
not in range(128) 

Python 3.2:

D:\nCdy\WA>C:\Python32\python.exe "D:\Program Files\Google\google_appengine\dev_ 
appserver.py" wa.py 
Traceback (most recent call last): 
    File "D:\Program Files\Google\google_appengine\dev_appserver.py", line 76, in 
<module> 
    run_file(__file__, globals()) 
    File "D:\Program Files\Google\google_appengine\dev_appserver.py", line 72, in 
run_file 
    execfile(script_path, globals_) 
NameError: global name 'execfile' is not defined 

¿Cómo ¿ejecutarlo?

+0

Además de todo lo demás, usted don' t desea especificar la ruta a un archivo .py como argumento para dev_appserver; más bien, desea especificar la ruta a un directorio que contiene app.yaml. – geoffspear

+0

sí, eso también podría ser un problema. Tal vez no es seguro. – Cynede

Respuesta

9

No funcionará con Python 3.2.

No he tenido problemas con GAE y Python 2.7 en Windows 7. Pronto será la versión oficialmente compatible.

En este momento, la versión con soporte oficial es Python 2.5, por lo que debe descargarla si tiene algún problema para hacer que otras versiones funcionen.

Sugeriría algo como ActiveState ya que no hay binarios oficiales para la última versión de Python 2.5.

+0

Puedes obtener Python 2.5.2 de http://www.python.org/download/releases/2.5.2/ –

+0

Esa es una versión muy anticuada. 2.5.6 es la versión actual, y probablemente la última. Muchos errores se han corregido desde 2.5.2. Si realmente quieres la última versión binaria oficial, es 2.5.4: http://www.python.org/download/releases/2.5.4/ – agf

+0

Claro, pero 2.5.2 es la versión utilizada por el motor de aplicaciones en producción: http://code.google.com/appengine/docs/python/runtime.html#Pure_Python –

0

Como se mencionó anteriormente, el problema es que está ejecutando el servidor de prueba GAE con python 3.2 en lugar de 2.7. Para solucionar este problema, tiene algunas opciones:

especificar el intérprete de python que desea en la línea de comandos (por ejemplo, crea un archivo .cmd):

c:\python27\python dev_appserver.py project_dir 

O redefinir el intérprete predeterminado pitón que puede hacerse ya sea cambiando el controlador .py en "establecer programas predeterminados". La modificación de las variables del entorno de ruta también puede ser útil.

+1

Mire más de cerca su código. El primer uso, de hecho, usa Python 2.7. Yo separaré los dos para que quede más claro. – agf

Cuestiones relacionadas