1

インポートするモジュールのドキュメントを作成しようとすると、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('../../'),
]
4

1 に答える 1

2

問題は、パッケージがないsys.path別のグーグルパッケージにあったことでした。そのフォルダを削除すると、魅力のように機能しました。/usr/lib/pymodules/python2.7/google/appengineext.gql

于 2013-02-15T15:41:17.340 に答える