読者です 読者をやめる 読者になる 読者になる

Windows7 + Python 2.7.6 にて、GAE/pyのランチャーのRunでエラー

GoogleAppEngine Python

久しぶりにGAE/pyに触ることとなったため、新規にGAE/pyの環境構築を行い、デプロイしてあるソースコードをダウンロードしました。
その後、GAE/pyのランチャーでRunしようとしたところエラーが出たため、その対応内容を残しておきます。

環境

エラー

Traceback (most recent call last):
  File "C:\Program Files (x86)\Google\google_appengine\dev_appserver.py", line 82, in 
    _run_file(__file__, globals())
  File "C:\Program Files (x86)\Google\google_appengine\dev_appserver.py", line 78, in _run_file
    execfile(_PATHS.script_file(script_name), globals_)
  File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\devappserver2\devappserver2.py", line 33, in 
    from google.appengine.tools.devappserver2.admin import admin_server
  File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\devappserver2\admin\admin_server.py", line 29, in 
    from google.appengine.tools.devappserver2.admin import console
  File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\devappserver2\admin\console.py", line 22, in 
    from google.appengine.tools.devappserver2 import module
  File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\devappserver2\module.py", line 49, in 
    from google.appengine.tools.devappserver2 import gcs_server
  File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\devappserver2\gcs_server.py", line 29, in 
    from google.appengine.tools.devappserver2 import wsgi_server
  File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\devappserver2\wsgi_server.py", line 31, in 
    from cherrypy import wsgiserver
  File "C:\Program Files (x86)\Google\google_appengine\lib\cherrypy\cherrypy\__init__.py", line 70, in 
    from cherrypy import _cptools
  File "C:\Program Files (x86)\Google\google_appengine\lib\cherrypy\cherrypy\_cptools.py", line 245, in 
    from cherrypy.lib import cptools, encoding, auth, static, jsontools
  File "C:\Program Files (x86)\Google\google_appengine\lib\cherrypy\cherrypy\lib\static.py", line 7, in 
    mimetypes.init()
  File "C:\Python27\lib\mimetypes.py", line 358, in init
    db.read_windows_registry()
  File "C:\Python27\lib\mimetypes.py", line 258, in read_windows_registry
    for subkeyname in enum_types(hkcr):
  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 0x83 in position 33: ordinal not in range(128)
2014-04-02 00:00:00 (Process exited with code 1)

対応

以下を参考にレジストリ「HKEY_CLASSES_ROOT\MIME\Database\Content Type」を確認しましたが、それらしい2byte文字が設定されている部分が見つかりませんでした。


仕方ないので、Pythonのバージョンを2.7.5に下げてみたところ、問題なく動作しました。



その他

デプロイしてあるソースコードをダウンロードするには、以下を実行します。

appcfg.py download_app -A <your_app_id> -V <your_app_version> <output-dir>

参考:Uploading, Downloading, and Managing a Python App - Python — Google Developers