无法导入那里的模块

时间:2012-01-09 14:35:48

标签: python google-app-engine python-2.7

从命令行我无法导入appengine,这可能与我的python路径有关:

$ python
Python 2.7.1+ (r271:86832, Apr 11 2011, 18:13:53) 
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from google.appengine.ext import db
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "google/appengine/ext/db/__init__.py", line 98, in <module>
    from google.appengine.api import datastore
  File "google/appengine/api/datastore.py", line 62, in <module>
    from google.appengine.datastore import datastore_query
  File "google/appengine/datastore/datastore_query.py", line 64, in <module>
    from google.appengine.datastore import datastore_index
  File "google/appengine/datastore/datastore_index.py", line 60, in <module>
    from google.appengine.api import validation
  File "google/appengine/api/validation.py", line 51, in <module>
    import yaml
ImportError: No module named yaml
>>> 

我不想重复安装,我想将Python解释器指向缺少模块的位置。如何让解释器从命令提示符中找到app引擎模块?在应用程序中,这些导入正在运行。

3 个答案:

答案 0 :(得分:14)

追加:

/usr/local/google_appengine/:/usr/local/google_appengine/lib/:/usr/local/google_appengine/lib/yaml/

到你的PYTHONPATH环境变量应该可以解决(你的SDK位置可能会有所不同)。

答案 1 :(得分:8)

对于appengine 1.9.6,谷歌创建了一个新目录&#34; yaml-3.10&#34;包含yaml模块。我添加了#appe; [appengine install directory] ​​/google_appengine/lib/yaml-3.10"到我的.bashrc文件中的PYTHONPATH,这解决了这个问题。 BTW:我使用的是Ubuntu 14.04 LTS。

答案 2 :(得分:6)

您的当前设置中未安装yaml。 yaml包包含在lib文件夹中的google_appengine中。文件夹中的setup.py脚本将yaml包添加到当前的python

cd google_appengine/lib/yaml
sudo python setup.py install