我按照本Google教程中在python中给出的说明在本地测试数据存储。当我运行这段代码时:
from google.cloud import datastore
client = datastore.Client()我得到以下错误:
from google.cloud import datastore
ModuleNotFoundError: No module named 'google.cloud'我安装了google-cloud-datastore,但问题仍然存在。
这似乎是一个缺少依赖关系的问题,但是我不知道该安装哪个模块,因为我在requirements.txt文件中安装了所有的模块。
发布于 2018-09-12 15:52:26
听起来,google-cloud-datastore要么没有正确安装,要么没有安装在您试图导入它的同一个环境中。
在一个空环境中,我可以安装google-cloud-datastore包,然后能够导入它:
/tmp $ python -m venv env
/tmp $ source env/bin/activate
(env) /tmp $ pip freeze
(env) /tmp $ pip install google-cloud-datastore==1.7.0
Collecting google-cloud-datastore==1.7.0
...lots of output...
Successfully installed cachetools-2.1.0 certifi-2018.8.24 chardet-3.0.4 google-api-core-1.4.0 google-auth-1.5.1 google-cloud-core-0.28.1 google-cloud-datastore-1.7.0 googleapis-common-protos-1.5.3 grpcio-1.15.0 idna-2.7 protobuf-3.6.1 pyasn1-0.4.4 pyasn1-modules-0.2.2 pytz-2018.5 requests-2.19.1 rsa-3.4.2 six-1.11.0 urllib3-1.23
(env) /tmp $ pip freeze
cachetools==2.1.0
certifi==2018.8.24
chardet==3.0.4
google-api-core==1.4.0
google-auth==1.5.1
google-cloud-core==0.28.1
google-cloud-datastore==1.7.0
googleapis-common-protos==1.5.3
grpcio==1.15.0
idna==2.7
protobuf==3.6.1
pyasn1==0.4.4
pyasn1-modules==0.2.2
pytz==2018.5
requests==2.19.1
rsa==3.4.2
six==1.11.0
urllib3==1.23
(env) /tmp $ python
Python 3.7.0 (default, Jul 30 2018, 11:52:05)
[Clang 9.1.0 (clang-902.0.39.2)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from google.cloud import datastore
>>>发布于 2018-09-12 03:23:13
这是一个缺失(或损坏)的依赖问题。它是通过安装google-cloud-storage来修复的。
pip install google-cloud-storage谷歌应该将这一点添加到datastore的依赖树中,以使我们的生活更加轻松。
https://stackoverflow.com/questions/52287039
复制相似问题