Protocol buffers protobuf:。proto文件不在源目录下

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

我是protobuf的新手。在正式教程之后,我下载了最新版本,并尝试运行示例
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
。但是当直接从源文件夹构建时,它不会自动知道路径