我正在使用最新的 Ubuntu 21.04 for aarch64。为了试验 gRPC,我安装了 grpc 东西:
python3 -m pip install grpc
python3 -m pip install grpcio-tools
我也尝试过:
pip3 install grpc
pip3 install grpcio-tools
这些似乎很成功,但是当我尝试从 .proto 文件生成 gRPC Python 代码时,系统告诉我没有安装 grpcio-tools。
如何解决这个问题? Ubuntu for aarch64 刚刚坏了吗?
对我来说,问题是在执行生成时我使用了 python 而不是 python3:
python3 -m grpc_tools.protoc --help
我无权访问 ARM64 实例,因此无法重现此内容。
根据Running gRPC and Protobuf on ARM64 (on Linux),应该支持(使用Python)
请在您的问题中包含更多详细信息。
对于我在 AMD64 上的 Ubuntu 20.04 来说:
python -m grpc_tools.protoc --help
/usr/bin/python: No module named grpc_tools
python -m venv venv
source venv/bin/activate
python3 -m pip install grpcio grpcio-tools
Collecting grpcio
Using cached grpcio-1.39.0-cp38-cp38-manylinux2014_x86_64.whl (4.3 MB)
Collecting grpcio-tools
Using cached grpcio_tools-1.39.0-cp38-cp38-manylinux2014_x86_64.whl (2.5 MB)
Collecting six>=1.5.2
Using cached six-1.16.0-py2.py3-none-any.whl (11 kB)
Requirement already satisfied: setuptools in ./venv/lib/python3.8/site-packages (from grpcio-tools) (44.0.0)
Collecting protobuf<4.0dev,>=3.5.0.post1
Using cached protobuf-3.17.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl (1.0 MB)
Installing collected packages: six, grpcio, protobuf, grpcio-tools
Successfully installed grpcio-1.39.0 grpcio-tools-1.39.0 protobuf-3.17.3 six-1.16.0
python -m grpc_tools.protoc --help
Usage: /${HOME}/venv/lib/python3.8/site-packages/grpc_tools/protoc.py [OPTION] PROTO_FILES
Parse PROTO_FILES and generate output based on the options given:
...
hello-world
Python 示例
关闭 VSCode 和终端并再次启动它们后,它对我有用。
我也有同样的问题 解决方案是使用 anaconda 安装它
conda install -c conda-forge grpcio conda install -c conda-forge grpcio-tools
会起作用的