我正试图在我的Windows机器上运行的Google App Engine开发服务器上将Django升级到1.7版本。
尝试加载应用程序时,我从doango\core\files\locks.py中收到以下异常:

ImportError: No module named msvcrt

相关代码行为:
if os.name == 'nt':
    import msvcrt

我想引发异常是因为App Engine的开发服务器不提供msvcrt的版本,但是因为我的开发机器是Windows,os.name仍然'nt'
有没有解决办法或解决办法?
Relevant stacktrace:
 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)

最佳答案

只是找到了一个解决办法。在appengine_config.py中添加以下行:

import os

on_appengine = os.environ.get('SERVER_SOFTWARE','').startswith('Development')
if on_appengine and os.name == 'nt':
    os.name = None

我仍然在寻找一个不那么老套的解决方案。

关于python - App Engine上的Django 1.7“ImportError:没有名为msvcrt的模块”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25915164/

10-10 11:01