import google protobuf的问题

来源:1-1 Go+Python双语言混合开发-课程导学

慕码人5302166

2021-08-31

protobuf 里面“import “google/protobuf/empty.proto”;” ,飘红,
编译的时候,Import “google/protobuf/empty.proto” was not found or had errors.
“google.protobuf.Empty” is not defined.
查了不少资料也没解决,有点抓狂。您遇到过这个问题吗

写回答

1回答

bobby

2021-09-01

    这种一般都是没有正常安装protobuf导致没有找到这个文件所致,你也可以通过everything这样的工具搜索一下这个文件所在位置将这个文件拷贝到当前目录下

关于生成protobuf的源码有三点需要说明一下:

    1. 飘红问题

           1. 这个是因为插件不知道去哪里找这些文件所致,因为插件只会去一些常见的地方找,所以飘红不代表一定不能生成源码

           2. 所以飘红问题和是否能生成源码不能看作一致,有可能protoc去寻找proto文件目录的时候和插件识别的不一致

           3. 如果飘红看着难受可以在goland或者pycharm中给这个插件配置上那些地方可以找proto文件,配置方法是 settings->搜索 protocol 然后右侧就可以自己配置路径了

   2. 生成源码问题, protoc命令生成源码的时候可以通过参数指定在哪些目录下搜索proto文件的 protoc --proto_path=. \         --proto_path=./third_party 比如这里就可以指定多个可以搜索的目录

   3. 上面的飘红没有问题不代表生成源码你就不用指定proto_path 目录

    4. 比较好的实践经验是将你以来的proto文件拷贝到自己项目的另一个目录 比如 third_proto中,这样后期就protoc命令就可以不论哪里都不用改了


0
0

Go+Python打造电商系统 自研微服务框架 抓紧高薪机遇

快速转型Go工程师,成为具备双语言后端能力的开发者

508 学习 · 530 问题

查看课程