Как правильно запустить веб-сервер Google App Engine в Windows? - PullRequest
4 голосов
/ 16 августа 2011

Я пытался запустить сервер разработки Google App Engine, используя Python 3.2 и Python 2.7, получил ошибки на обоих:

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 

Как мне его запустить?

Ответы [ 3 ]

8 голосов
/ 16 августа 2011

Это не будет работать с Python 3.2.

У меня не было проблем с GAE и Python 2.7 на Windows 7. Скоро это будет официально поддерживаемая версия.

Прямо сейчасОфициально поддерживаемой версией является Python 2.5, поэтому вам следует скачать ее, если у вас возникнут проблемы с работой других версий.

Я бы предложил что-то вроде ActiveState , поскольку нет официальных двоичных файлов.для последней версии Python 2.5.

2 голосов
/ 29 июля 2012

проверьте это. UnicodeDecodeError: кодек «ascii» не может декодировать байт 0xe0 в позиции 0: порядковый номер не в диапазоне (128) У меня абсолютно такая же проблема, как и у вас, и проблема была в плохих именах (в некоторых случаях - в кириллических именах) в реестре здесь HKEY_CLASSES_ROOT \ MIME \ Database \ Content Type

0 голосов
/ 16 августа 2011

Как уже упоминалось, проблема в том, что вы используете тестовый сервер GAE с python 3.2 вместо 2.7.Чтобы исправить это, у вас есть несколько вариантов:

Укажите интерпретатор Python, который вы хотите в командной строке (например, создайте файл .cmd):

c:\python27\python dev_appserver.py project_dir

Или переопределите интерпретатор Python по умолчанию, которыйЭто можно сделать, изменив обработчик .py в «Установить программы по умолчанию».Также может помочь изменение переменных среды пути.

...