1

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

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

该教程说以下内容:

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

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

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

4

2 回答 2

1

假设您在 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 ......)

于 2015-01-18T08:45:28.187 回答
1

将来,如果您不想自己编译 Python proto 类,可以考虑使用 gtfs-realtime-bindings PyPI 包,它为 GTFS-realtime 提供了预生成的 Pythong 语言绑定。更多详情请访问:

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

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

于 2015-01-23T23:51:50.983 回答