生成gRPC存根时遇protoc-gen-grpc未找到或不可执行问题求助
解决protoc-gen-grpc找不到的问题
方法1:使用grpc_tools内置参数(推荐)
你当前命令重复了--python_out参数,且采用了需要手动指定插件的旧方式。直接改用--grpc_python_out参数即可,grpc_tools会自动调用内置的grpc_python_plugin,无需额外指定插件路径:
python -m grpc_tools.protoc -I./ --python_out=./common/v1/ --grpc_python_out=./common/v1/ common/v1/common.proto
方法2:手动指定插件绝对路径
如果必须使用--grpc_out参数,需先找到grpc_python_plugin的实际位置:
- 确保已安装grpcio-tools:
pip install grpcio-tools - 获取插件路径:
- Linux/macOS:
python -c "import grpc_tools; import os; print(os.path.join(grpc_tools.__path__[0], '_bin', 'grpc_python_plugin'))" - Windows:
python -c "import grpc_tools; import os; print(os.path.join(grpc_tools.__path__[0], '_bin', 'grpc_python_plugin.exe'))"
- Linux/macOS:
- 修改命令,替换为你得到的绝对路径:
python -m grpc_tools.protoc -I./ --python_out=./common/v1/ --grpc_out=./common/v1/ --plugin=protoc-gen-grpc=/实际路径/grpc_python_plugin common/v1/common.proto
方法3:将插件目录加入环境变量
把grpc_python_plugin所在的文件夹添加到系统PATH中,让系统能直接找到该程序:
- Linux/macOS(临时生效):
永久生效可将上述命令添加到export PATH=$PATH:/插件所在目录路径~/.bashrc或~/.zshrc文件,重启终端后生效。 - Windows:打开系统环境变量设置,将插件所在文件夹路径添加到PATH中,重启终端后生效。
内容的提问来源于stack exchange,提问作者hellojoshhhy
相关产品推荐
相关产品推荐

