我正在关注协议缓冲区的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文件,桌面也是我想要生成代码的地方,那么上面的终端命令应该是什么样的?
答案 0 :(得分:1)
假设您在linux下工作,可以像这样设置$ SRC_DIR变量(请注意我删除了DST_DIR):
SRC_DIR="/home/USERNAME/Desktop" protoc -I=$SRC_DIR --python_out=$SRC_DIR $SRC_DIR/addressbook.proto
或者您可以使用“/ home / USERNAME / Desktop”替换每个$ SRC_DIR和$ DST_DIR(如果您改为使用桌面路径,这也适用于Windows。)
答案 1 :(得分:1)
将来,如果您不想自己编译Python proto类,可以考虑使用gtfs-realtime-bindings PyPI包,它为GTFS-realtime提供预生成的Pythong语言绑定。更多详情:
https://github.com/google/gtfs-realtime-bindings/tree/master/python
(完全披露:我维护这些包裹)