Protocol buffers protobuf:。proto文件不在源目录下
我是protobuf的新手。在正式教程之后,我下载了最新版本,并尝试运行示例Protocol buffers protobuf:。proto文件不在源目录下,protocol-buffers,Protocol Buffers,我是protobuf的新手。在正式教程之后,我下载了最新版本,并尝试运行示例examples/addressbook.proto 在地址簿.proto中有一行 导入“google/protobuf/timestamp.proto”, 因此,需要提供一个源目录(-I=),以便导入此目录 我的问题是,在下载的版本中,我在examples下有addressbook.proto,而所需的google/protobuf/timestamp.proto在src 当我这样做的时候 protoc示例/addre
examples/addressbook.proto
在地址簿.proto中有一行
导入“google/protobuf/timestamp.proto”代码>,
因此,需要提供一个源目录(-I=
),以便导入此目录
我的问题是,在下载的版本中,我在examples
下有addressbook.proto
,而所需的google/protobuf/timestamp.proto
在src
当我这样做的时候
protoc示例/addressbook.proto--python\u out=-I=src
我犯了一个错误
示例/addressbook.proto:文件不在任何路径中
使用--proto_路径(或-I)指定
我试着使用--proto_path
玩游戏,结果也出现了同样的错误
当我在src
下手动移动addresbook.proto
时,问题就解决了,这样所需的包和.proto都位于同一目录下(由-I=src
指定)
但是,当.proto文件和其他要导入的包位于不同的目录下时,我想知道是否有解决方案。您需要:
protoc examples/addressbook.proto --python_out=. -I=src -I=examples
当protoc在系统范围内安装时,它通常具有时间戳。proto
在默认包含路径中,并且不必指定-I
。但是当直接从源文件夹构建时,它不会自动知道路径