2

Windows 7 64 ビット、python 2.7.9 x64 の仮想環境でアプリ エンジン アプリケーションを実行しています。

スタックトレースは次のとおりです。

    p_system = platform.system()
  File "C:\Python27\lib\platform.py", line 1310, in system
    return uname()[0]
  File "C:\Python27\lib\platform.py", line 1206, in uname
    release,version,csd,ptype = win32_ver()
  File "C:\Python27\lib\platform.py", line 597, in win32_ver
    import _winreg
  File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\devappserver2\python\sandbox.py", line 945, in load_module
    raise ImportError('No module named %s' % fullname)
  ImportError: No module named _winreg

ただし、cli (venv の外部) からは問題なく動作します。

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Users\Admin>python
Python 2.7.9 (default, Dec 10 2014, 12:28:03) [MSC v.1500 64 bit (AMD64)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>> import _winreg
>>> import platform
>>> platform.system()
'Windows'
>>>

なぜこれが起こるのですか?これを修正するにはどうすればよいですか?

4

4 に答える 4

1

SERVER_SOFTWARE 変数が「Dev」で始まらないものに設定されているため、GAE が開発モードであることを認識していないことが問題だと思います。

次のコードを (GAE ライブラリを呼び出す前に) 実行すると、問題が解決するはずです。

import os
os.environ['SERVER_SOFTWARE'] = 'Dev'

注: 本番環境に移行する前に、このコードが削除されていることを確認してください。

于 2015-04-24T15:49:53.040 に答える