Pycharm 问题 - ImportError: 没有名为 appengine.datastore.datastore_query 模块
我一直在尝试使用一个很棒的项目,地址是 http://docs.gae-init.appspot.com/,目的是学习Python、GAE(Google App Engine),也许还能开始自己的兴趣项目。
我选择的开发工具是Pycharm 3.4专业版,操作系统是OSX Mavericks。
我一直在跟着教程走,所以我在本地目录中用git克隆了这个项目,然后在Pycharm中打开了它。我觉得我已经解决了大部分的依赖问题(Pycharm在这方面帮了我很多)。
不过,当我尝试运行这个项目时,出现了以下错误:
File "/Users/nilminus/Developer/phonebook/main/main.py", line 9, in <module>
import util
File "/Users/nilminus/Developer/phonebook/main/util.py", line 10, in <module>
from google.appengine.datastore.datastore_query import Cursor
ImportError: No module named appengine.datastore.datastore_query
我已经把GAE的目录配置为/usr/local/google_appengine,这个是正确的。Pycharm在实际执行之前并没有抱怨找不到这个模块。虽然有一个警告说google模块没有在requirements.txt中列出,但我觉得这不应该是问题所在。
我在.profile和~/.bash_profile中添加了PYTHONPATH: PYTHONPATH=/usr/local/google_appengine/:/usr/local/google_appengine/lib/:/usr/local/google_appengine/lib/yaml/
有趣的是,如果我把这个项目上传到GAE上,它就能完美运行。而且,如果我用./run.py -s来运行这个项目(正如作者所展示的那样),它也能正常工作。甚至用./dev_appserver.py main/也可以。
这个问题让我困惑了整整一周。任何帮助都非常感谢。
1 个回答
在创建Google引擎应用项目时,需要在“App Engine SDK目录”这个框里填写App Engine SDK的路径:
注意:PyCharm会自动检测GAE的安装路径,并把它显示在这个框里。不过,这个自动检测功能只适用于Windows和OS X系统。对于Linux系统,你需要自己手动填写App Engine SDK的路径。
另外,在设置中也要填写SDK的路径