Sphinx无法导入gql
Sphinx在我尝试为一个模块生成文档时出现了这个错误,这个模块里我导入了from google.appengine.ext import ndb
:
Traceback (most recent call last):e/adapters
File "/usr/local/lib/python2.7/dist-packages/Sphinx-1.1.3-py2.7.egg/sphinx/ext/autodoc.py", line 321, in import_object
__import__(self.modname)
File "/home/peto/workspace/mymodule.py", line 11, in <module>
from google.appengine.ext import ndb
File "/usr/lib/pymodules/python2.7/google/appengine/ext/ndb/__init__.py", line 7, in <module>
from tasklets import *
File "/usr/lib/pymodules/python2.7/google/appengine/ext/ndb/tasklets.py", line 68, in <module>
from .google_imports import apiproxy_stub_map
File "/usr/lib/pymodules/python2.7/google/appengine/ext/ndb/google_imports.py", line 33, in <module>
from google.appengine.ext import gql
ImportError: cannot import name gql
之前我通过把yaml
加入到sys.path
解决了同样的问题,但这次对gql
却不管用。我把我的conf.py
配置成这样:
gae_path = '/usr/lib/google-app-engine'
sys.path[0:0] = [
gae_path,
os.path.join(gae_path, 'lib'),
os.path.join(gae_path, 'lib', 'yaml'),
os.path.join(gae_path, 'lib', 'yaml', 'lib'),
os.path.join(gae_path, 'google'),
os.path.join(gae_path, 'google', 'appengine'),
os.path.join(gae_path, 'google', 'appengine', 'ext'),
os.path.join(gae_path, 'google', 'appengine', 'ext', 'gql'), # The gql package is really there
os.path.abspath('../../'),
]
1 个回答
2
问题是我在我的 sys.path
中有另一个谷歌的包,路径是 /usr/lib/pymodules/python2.7/google/appengine
,但是那里没有 ext.gql
这个包。我把那个文件夹删掉了,结果一切都正常了。