python - 如何修复谷歌子模块导入错误?
问题描述
我正在尝试在云 sdk 中运行以下命令以向云 IOT 发送命令
python3 main.py --send_command="$RESPONSE" --registry=REGISTRY NAME --device=DEVICE NAME --cloud_region=europe-west1 --project_id=PROJECT ID send-command
我收到以下错误消息。
Traceback (most recent call last):
File "main.py", line 37, in <module>
from google.api_core.exceptions import AlreadyExists
ModuleNotFoundError: No module named 'google
我尝试了以下解决方法,但没有运气。
pip install --upgrade google-api-core
pip install google-cloud
pip install google-cloud-vision
我错过了任何图书馆吗?
Python 版本 - Python 3.8.3
解决方案
如果您还没有并且愿意考虑使用virtualenv,它可能有助于(!)解决问题,因为它提供了一个“洁净室”:
python3 -m venv venv
source venv/bin/activate
然后检查当前模块:
pip3 freeze
不返回安装模块
然后:
pip3 install google-api-core
pip3 install google-cloud-vision
pip3 freeze
或者,最好创建requirements.txt
:
google-api-core==1.21.0
google-cloud-vision==1.0.0
和:
pip3 install --requirement ./requirements.txt
pip3 freeze
回报:
cachetools==4.1.0
certifi==2020.4.5.2
chardet==3.0.4
google-api-core==1.21.0
google-auth==1.18.0
google-cloud-vision==1.0.0
googleapis-common-protos==1.52.0
idna==2.9
protobuf==3.12.2
pyasn1==0.4.8
pyasn1-modules==0.2.8
pytz==2020.1
requests==2.24.0
rsa==4.6
six==1.15.0
urllib3==1.25.9
注意列表和版本会改变
然后检查导入将成功:
python3 -c "from google.api_core.exceptions import AlreadyExists"
推荐阅读
- javascript - 水平导航栏悬停效果jquery
- python - 如何在 guizero 中交换按钮和文本上的文本字体?
- html - 不使用 flexbox 或网格的电子邮件中的 HTML/CSS 居中项目
- windows - 在 Windows 上检测到包 Atom 的不满足要求
- laravel-8 - ErrorException 未定义变量:农夫(查看:C:\xampp\htdocs\best\resources\views\farmers.blade.php)
- r - 使用 R 将大型 jsonl 文件读入 SQLite 数据库
- java - 超宽相机未显示在 CameraManager#getCameraIdList 和 CameraCharacteristics#getPhysicalCameraIds
- c++ - net::high_resolution_timer(co_await net::this_coro::executor) 是做什么的?
- matlab - 避免每次启动可执行文件时删除 MCR CACHE
- python - 某些向量元素的快速(稀疏)矩阵构造