You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker中执行grpc_tools.protoc遇protoc-gen-pyi报错的原因与解决

报错原因及解决方法

报错原因

使用--pyi_out参数生成Python类型提示(.pyi)文件时,需要依赖protoc-gen-pyi插件,但该插件未安装在Docker镜像中,或者其路径不在系统PATH环境变量内,导致protoc无法找到并执行这个工具,最终报错退出。

解决步骤

在Dockerfile中先安装对应依赖包,再执行protoc命令即可解决:

  • 先安装包含protoc-gen-pyi的依赖包
    在Dockerfile里添加安装步骤:

    RUN pip install grpcio-tools mypy-protobuf
    
  • 执行原protoc命令
    安装完成后,protoc-gen-pyi会被自动添加到Python的bin目录(通常在PATH范围内),直接运行原命令即可:

    RUN python -m grpc_tools.protoc -I ./ --python_out=. --pyi_out=. --grpc_python_out=. my.proto
    

如果安装后仍提示找不到插件,可手动指定插件路径:

RUN python -m grpc_tools.protoc -I ./ --python_out=. --pyi_out=. --grpc_python_out=. --plugin=protoc-gen-pyi=$(which protoc-gen-pyi) my.proto

内容的提问来源于stack exchange,提问作者Scott

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 11:09:57