天天看點

ubuntu下配置protobuf-python,将proto檔案編譯為python檔案

以前都是學習TensorFlow,直到近幾天才接觸到caffe,對于這種程式設計模式一下子适應不了,就想着看看網上有沒有将proto檔案轉變為python檔案的。就順便記錄一下過程。ubuntu:16.04,64位系統。

首先去點選下載下傳protobuf-python-3.5.0.tar.gz,再點選下載下傳protoc-3.5.0-linux-x86_64.zip,将下載下傳好的這兩個包放在ubuntu的/home/user下。下載下傳可能有點慢,具體請到官網下載下傳。

再解壓:

tar -zxvf protobuf-python-.tar.gz
    unzip protoc--linux-x86_64.zip
           

重命名(少敲些鍵盤):

mv protobuf-3.5.0 proto
           

将第二個解壓得到bin目錄下得到的protoc檔案複制到第一個解壓後得到的proto/src/目錄下。

進入proto/python目錄執行

python setup.py build  #python版本為2.7,不需要添加sudo
    sudo python setup.py install   #第二個需要添加sudo
           

成功後添加環境變量:

vi ~/.bashrc
    export PATH=$PATH:/home/user/proto/src
    source ~/.bashrc
           

進入proto/src目錄

建立addressbook.proto檔案

package tutorial;

message Person{
    required string name =;
    required int32 id =;
    optional string email =;

    enum PhoneType{
        MOBILE =;
        HOME =;
        WORK =;
    }

    message PhoneNumber{
        required string number =;
        optional PhoneType type =[default = HOME];
    }

    repeated PhoneNumber phone =;
}

message AddressBook{
    repeated Person person =;
}
           

儲存後,在proto/src目錄下執行:

此時,在proto目錄下會生成addressbook_pb2.py檔案,成功的将proto檔案轉換成py檔案。

參考:https://www.cnblogs.com/adoontheway/p/4059632.html

參考 : https://blog.csdn.net/Wendy_LWZ/article/details/80654703