编译 gRPC protobuf - "program not found or is not executable"

Compiling gRPC protobuf - "program not found or is not executable"

我正在努力编译我的 .proto 文件以在 Python 中生成 gRPC 存根。

我当前的工作目录是./predictor。我在 ./proto 文件夹中有一个 simulator.proto 文件。

我正在从事的项目的自述文件说我应该 运行

protoc -I ../proto/ --grpc_out=. --plugin=protoc-gen-grpc=`which grpc_python_plugin` ../proto/simulator.proto

这失败了,给了我

: program not found or is not executable
--grpc_out: protoc-gen-grpc: Plugin failed with status code 1.

我用 python -m grpc_tools.protoc ... 试了一下,还是不行。 我仔细检查了我是否安装了 grpc,我已经用 pip 重新安装了它,并且 git 克隆了 grpc 文件夹并从源代码构建。我不知道还能做什么。有人有想法吗?

您不能(很容易!?)将 protoc 用于 Python,最好使用您描述的模块。

命令应类似于:

python \
-m grpc_tools.protoc \
--proto_path=../proto \
--python_out=. \
--grpc_python_out=. \
../proto/*.proto

假设您有一个名为 proto 的父目录,其中至少包含一个 .proto 文件,并且您 运行 来自 python 的此命令:

.
├── protos
│   └── x.proto
└── python
    ├── x_pb2_grpc.py
    └── x_pb2.py

您在使用该模块时遇到了哪些错误?