无法获取 Google 协议缓冲区进行编译

Can't get Google Protocol Buffer to compile

我正在遵循协议缓冲区的 google python 教程,我已经能够成功完成编译器之前的所有操作。

https://developers.google.com/protocol-buffers/docs/pythontutorial

教程内容如下:

现在 运行 编译器,指定源目录(您的应用程序源代码所在的位置——如果您不提供值,则使用当前目录)、目标目录 (你希望生成的代码去哪里;通常与 $SRC_DIR) 相同,以及你的 .proto 的路径。在这种情况下,你...:[=​​26=]

protoc -I=$SRC_DIR --python_out=$DST_DIR $SRC_DIR/addressbook.proto

假设我的桌面上有 addressbook.proto 文件,桌面也是我希望生成的代码所在的位置,那么上面的终端命令应该是什么样子?

假设您在 linux 下工作,您可以像这样设置 $SRC_DIR 变量(注意我删除了 DST_DIR):

SRC_DIR="/home/USERNAME/Desktop" protoc -I=$SRC_DIR --python_out=$SRC_DIR $SRC_DIR/addressbook.proto

或者您可以将每个 $SRC_DIR 和 $DST_DIR 替换为“/home/USERNAME/Desktop”(如果您改为使用您的路径,这也适用于 windows桌面..)

以后如果不想自己编译Python proto 类,可以考虑gtfs-realtime-bindings PyPI包,它提供了预生成的Pythong GTFS 实时语言绑定。更多详细信息,请访问:

https://github.com/google/gtfs-realtime-bindings/tree/master/python

(完全披露:我维护这些包)