0

我在ubuntu中使用grpc,当导入run_codegen.sh生成的*_pb2.py时,出现如下ImportError:

raceback (most recent call last):
File "q_db_op.py", line 2, in <module>
import db_op_pb2
  File "/data/server/grpc/db_op_pb2.py", line 331, in <module>
from grpc.early_adopter import implementations
  File "/usr/local/lib/python2.7/dist-packages/grpc/early_adopter/implementations.py", line 34, in <module>
from grpc._adapter import fore as _fore
  File "/usr/local/lib/python2.7/dist-packages/grpc/_adapter/fore.py", line 38, in <module>
from grpc._adapter import _intermediary_low as _low
  File "/usr/local/lib/python2.7/dist-packages/grpc/_adapter/_intermediary_low.py", line 57, in <module>
from grpc._adapter import _low
  File "/usr/local/lib/python2.7/dist-packages/grpc/_adapter/_low.py", line 31, in <module>
from grpc._adapter import _c
ImportError: /usr/local/lib/python2.7/dist-packages/grpc/_adapter/_c.so: undefined symbol: grpc_google_iam_credentials_create

任何反馈将不胜感激。

4

1 回答 1

3

这有点像您只安装了 gRPC Python 并且尚未在您的系统上安装 gRPC Core。如果是这种情况,您的问题的解决方案是安装 gRPC 核心(“sudo apt-get install libgrpc-dev”,请参阅安装说明)。

还要注意您 apt-get install 的 gRPC Core 版本(0.11、0.12 或更高版本)与您 pip 安装的 grpcio PyPI 包的版本(0.11、0.12 或更高版本)相同。

于 2015-12-04T04:47:12.577 回答