" ImportError:没有名为pkg_resources的模块"导入google.cloud.datastore时

时间:2018-03-13 19:43:39

标签: python google-app-engine google-cloud-datastore importerror pkg-resources

我正在尝试使用Google Cloud Datastore,但导入google.cloud.datastore会产生ImportError:

ERROR    2018-03-13 19:28:29,013 wsgi.py:263] 
Traceback (most recent call last):
  File "/home/<user>/Software/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 240, in Handle
    handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
  File "/home/<user>/Software/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 299, in _LoadHandler
    handler, path, err = LoadObject(self._handler)
  File "/home/<user>/Software/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 85, in LoadObject
    obj = __import__(path[0])
  File "/home/<user>/Projects/<my_project>/main.py", line 1, in <module>
    from my_project import app
  File "/home/<user>/Projects/<my_project>/<my_project>/__init__.py", line 2, in <module>
    from my_project.submit.controllers import submit
  File "/home/<user>/Projects/<my_project>/<my_project>/submit/controllers.py", line 6, in <module>
    from . import model_datastore
  File "/home/<user>/Projects/<my_project>/<my_project>/submit/model_datastore.py", line 2, in <module>
    from google.cloud import datastore
  File "/home/<user>/Projects/<my_project>/env/local/lib/python2.7/site-packages/google/cloud/datastore/__init__.py", line 57, in <module>
    from pkg_resources import get_distribution
ImportError: No module named pkg_resources

我在Linux Mint上试图运行Google App Engine本地开发服务器。

我正在使用虚拟环境。 setuptools和pkg_resources都在虚拟环境中安装和更新。当我从虚拟环境和import pkg_resources进入python cmd行解释器时,它工作正常。当我通过dev_appserver app.yaml运行谷歌应用引擎开发服务器时,一切正常,直到我访问激活导入数据存储区的处理程序的页面,然后我收到此错误。

关于&#p; pkg_resources`导入错误的其他类似帖子都没有帮助。

如果我能提供其他任何有用的信息,请告知我们。谢谢!

1 个答案:

答案 0 :(得分:1)

在标准环境中,您需要在应用程序中安装所有依赖项。请参阅Using third-party libraries

无论您在本地环境中安装了什么(虚拟或非虚拟)都无关紧要,GAE不知道如何使用这些内容,而您的应用可能无法在本地正常运行在GAE上部署时肯定不会工作。

您的回溯表示您正在从虚拟环境加载数据存储库,而不是从您的应用加载数据存储库,这很可能是它无法运行的原因:

.../env/local/lib/python2.7/site-packages/google/cloud/datastore/__init__.py

您需要修复应用依赖项安装。

此讨论可能也会引起关注:No module named warnings when starting GAE inside virtualenv locally