App Engine上的Django 1.7"ImportError:没有名为msvcrt的模块"

Tza*_*ach 2 python django google-app-engine

我正在尝试在我的Windows机器上运行的Google App Engine开发服务器上将Django升级到1.7版.

在尝试加载应用时,我收到以下异常doango\core\files\locks.py:

ImportError: No module named msvcrt
Run Code Online (Sandbox Code Playgroud)

相关代码行是:

if os.name == 'nt':
    import msvcrt
Run Code Online (Sandbox Code Playgroud)

我想引发异常是因为App Engine的开发服务器不提供msvcrt版本,但由于我的开发机器是Windows,os.name仍然是'nt'.

有没有解决方案或解决方法?

相关的堆栈跟踪:

 File "...\django\core\files\locks.py", line 30, in <module>
    import msvcrt
 File "D:\Program Files (x86)\Google\google_appengine\google\appengine\tools\devappserver2\python\sandbox.py", line 852, in load_module
    raise ImportError('No module named %s' % fullname)
Run Code Online (Sandbox Code Playgroud)

Tza*_*ach 7

刚刚找到了解决方法.在appengine_config.py加入下面几行:

import os

on_appengine = os.environ.get('SERVER_SOFTWARE','').startswith('Development')
if on_appengine and os.name == 'nt':
    os.name = None
Run Code Online (Sandbox Code Playgroud)

我仍然在寻找一种不太苛刻的解决方案.