首页 > 解决方案 > 将 Python 脚本导入测试时出现“没有名为 google.cloud 的模块”错误,但直接运行时不会出现

问题描述

不确定这是否与 google-cloud 相关或 pytest 相关。请参阅下面的文件。

当我运行python app/my_script.pyorpython -m app.my_script时,脚本运行良好。

但是当我运行时pytest,脚本中的行from google.cloud import vision会抛出“ModuleNotFoundError: No module named 'google.cloud'”。

我曾尝试将各种包名称添加到 requirements.txt 文件和/或运行pip install google-cloudpip 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... 

标签: pythonpython-3.xpytestgoogle-cloud-visiongoogle-cloud-python

解决方案


推荐阅读