python - App Engine "ImportError: No module named msvcrt"上的 Django 1.7

标签 python django google-app-engine

我正尝试在我的 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/

相关文章:

google-app-engine - 正确的 GOPATH 包含来自 App Engine SDK 的 App Engine 库?

google-app-engine - Google App Engine - 如何防止密码泄露

python - 你能像在 Java 中一样将 python 中的字符串与 .equals 进行比较吗?

python - Pygame 声音文件崩溃空闲

构建 "News Feed"/ "Status update"/ "Activity Stream"的 Django 方式

python - Django 中的多态性

python - 编译MYSQL程序时出现错误 "indefined reference to"

python - 如何在 python 中使用正则表达式从字符串中提取一些单词模式

django - 为什么用户模型具有字符串类型?

java - 在 Google App Engine 上托管 JSP?