python - Virtualenv __future__ 模块在命令行上工作,但在运行 dev_appserver.py 时不起作用

标签 python google-app-engine virtualenv importerror

在我的 virtualenv 中运行 App Engine 时,我遇到了一个奇怪的错误。这是错误:

File "/home/matthew/dev/sdks/google_appengine_1.5.2/google/appengine/tools/dev_appserver.py", line 2318, in LoadModuleRestricted description)
File "/home/matthew/dev/projects/webapp2/project/src/webapp2.py", line 11, in <module>
  from __future__ import with_statement
ImportError: No module named __future__
  • 如果我在我的 virtualenv 中运行 python 并输入 import __future__,它 进口。
  • 如果我停用我的 virtualenv 并运行 dev_appserver.py, 应用程序工作。
  • 但是如果我的 virtualenv 处于事件状态并且我运行 dev_appserver.py(甚至 尽管 #1 为真),但该应用程序无法运行,我收到上述错误。

为什么 __future__ 在运行 Python 解释器时可用,而不是 dev_appserver.py?

最佳答案

这是 bug 4339 .确保使用 SDK 版本 1.6.0,然后执行以下操作:

$ cd /usr/local/google_appengine/google/appengine/tools
$ wget "http://googleappengine.googlecode.com/issues/attachment?aid=43390029000&name=dev_appserver_import_hook.patch&token=974d9f138a5604dc7eb0526156b26cc7" -O dev_appserver.patch
$ patch -p1 < dev_appserver.patch

关于python - Virtualenv __future__ 模块在命令行上工作,但在运行 dev_appserver.py 时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6853710/

相关文章:

python - Scapy 安装在 osx 上失败,并出现 dnet 导入错误

Python 和 Beautiful Soup - 搜索标签 a,返回后面的标签 b,直到找到标签 A

android - 从 Android 设备消费时的 Google API 安全性

python - “Unable to locate finder for ' pip._vendor.diSTLib '” 使用"pip install virtualenv"时出错

python - 在 python 中的 re.match 中使用变量

python - 无法使用 python-nvd3

django - 在 virtualenv 中,pip freeze > requirements.txt 提供大量垃圾!如何修剪它?

python - 将全局包导入到我创建的虚拟环境中的选项?

google-app-engine - 是否可以从谷歌应用引擎响应 header 中删除 "Google Frontend"?

java - 如何在一个实体组中创建实体?