python - 将 Python 脚本导入测试时出现“没有名为 google.cloud 的模块”错误,但直接运行时不会出现
问题描述
不确定这是否与 google-cloud 相关或 pytest 相关。请参阅下面的文件。
当我运行python app/my_script.py
orpython -m app.my_script
时,脚本运行良好。
但是当我运行时pytest
,脚本中的行from google.cloud import vision
会抛出“ModuleNotFoundError: No module named 'google.cloud'”。
我曾尝试将各种包名称添加到 requirements.txt 文件和/或运行pip install google-cloud
并pip install google-cloud-language
使用和不使用--upgrade
标志,但均未成功。我可以采取哪些步骤来克服此错误?
conftest.py:(空)
要求.txt:
google-cloud-vision
应用程序/my_script.py:
from google.cloud import vision
from google.cloud.vision import types
def new_client():
client = vision.ImageAnnotatorClient()
return client
if __name__ == "__main__":
client = new_client()
# etc...
测试/test_my_script.py:
from app.my_script import new_client
# tests here...
解决方案
推荐阅读
- oracle - 在 Oracle 中使用多个命名空间更新 CLOB 列
- java - 对 List 对象参数和多列条件使用 Spring jdbc 模板
- r - 将表示 ggerrorplot 中平均值的点更改为一条线
- azure - Azure AAD 应用程序 ID 在整个 Azure 中是否唯一?
- visual-studio-2015 - 如何让发布者名称显示在 ClickOnce 安装程序对话框中
- c# - 在 C# 中使用具有相同 uri 但不同前缀的多个命名空间序列化 xml
- google-chrome-devtools - Puppeteer:以编程方式保存 Chrome 性能时间线以用于长时间运行的会话
- clion - 排除 clang 错误以使 CLion 中的 C++ 代码正常工作
- drupal - 如何使用 graphql 获得 drupal 节点的特定翻译
- ios - 以 iPhone 的方式访问 iOS 文件系统