Python grpc-tools 在我安装后就被声明丢失了

问题描述 投票:0回答:4

我正在使用最新的 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 ubuntu grpc grpc-python
4个回答
4
投票

对我来说,问题是在执行生成时我使用了 python 而不是 python3:

python3 -m grpc_tools.protoc --help

2
投票

我无权访问 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 示例


0
投票

关闭 VSCode 和终端并再次启动它们后,它对我有用。


0
投票

我也有同样的问题 解决方案是使用 anaconda 安装它

使用conda安装grpc

conda install -c conda-forge grpcio conda install -c conda-forge grpcio-tools

会起作用的

© www.soinside.com 2019 - 2024. All rights reserved.