首页 > 解决方案 > ModuleNotFoundError:夜间没有名为“google”的模块,代码没有变化

问题描述

我们的 Python 构建在昨晚没有更改代码时失败。

File "/usr/local/lib/python3.6/site-packages/MY_PACKAGE/MY_FILE_pb2.py", line 6, in <module>
    from google.protobuf import descriptor as _descriptor
ModuleNotFoundError: No module named 'google'

我们对 MY_PACKAGE 的唯一依赖是grpcio (>=1.9.1).

标签: pythonprotocol-buffersgrpc

解决方案


我刚刚发现原因是从最新版本中删除了protobuf依赖项:grpcio

包 grpcio 1.11.0 元数据:

"run_requires": [{"requires": ["six (>=1.5.2)"]}]

包 grpcio 1.12.0 元数据:

"run_requires": [{"requires": ["protobuf (>=3.5.0.post1)", "six (>=1.5.2)"]}]

所以需要protobuf手动添加依赖。


推荐阅读