我正在运行以下命令:
protoc protobuf/file.proto --proto_path=protobuf --proto_path=protobuf --python_out=out/builtin_pb --grpc_out=out/builtin_pb --plugin=protoc-gen-grpc=/usr/local/bin/grpc_python_plugin
file.proto具有的位置:
syntax = "proto3";
import "google/protobuf/any.proto";
诸如此类的东西
google.protobuf.Any arg = 3;
但是,它有错误:
google/protobuf/any.proto: File not found.
bess_msg.proto: Import "google/protobuf/any.proto" was not found or had errors.
bess_msg.proto:251:3: "google.protobuf.Any" is not defined
...
我可以采取任何步骤来确保正确安装any.proto吗?
谢谢
答案 0 :(得分:2)
我最近遇到了这个问题,并意识到我正在使用protobuf 3.0。只需将protobuf编译器升级到最新版本(在我的情况下为3.6),以获取有关这些类型的定义。
答案 1 :(得分:0)
在Ubuntu上尝试将protobuf编译为python时出现此错误。我的问题是我使用import pandas as pd #import pandas
df = pd.read_csv('your_data_file.csv') # read csv as a dataframe
df['WEEKDAY'] = pandas.to_datetime(df['record_timestamp']).dt.dayofweek
df["WEEKDAY"] = (df["WEEKDAY"] < 5).astype(float)
安装了编译器,但没有使用sudo apt install protobuf-compiler
安装资源。
感谢this answer向我展示了自己的方式上的错误。