我正尝试在我的 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'
。
是否有解决方案或解决方法?
相关堆栈跟踪:
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 "ImportError: No module named msvcrt"上的 Django 1.7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25915164/