• how to install protobuff python


    当前环境:

      operate system: Ubuntu 14.04.1 LTS

      protoc --version: libprotoc 2.5.0   

      protocol-buffers version:2.6.1

    按照 https://github.com/google/protobuf 的 README.md 流程看的糊涂, 一直在寻找更方便的安装方式。

    步骤:

    1) 关于pypi: https://pypi.python.org/pypi/protobuf/2.6.1 即可通过 pip install protobuf 方式安装。

    验证:

    $ python
    Python 2.7.6 (default, Jun 22 2015, 17:58:13) 
    [GCC 4.8.2] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import google.protobuf
    >>>

    2) 关于protobuf-compiler:  apt-get install protobuf-compiler

    $ apt-get install protobuf-compiler
    $
    $ protoc --help
    Usage: protoc [OPTION] PROTO_FILES
    Parse PROTO_FILES and generate output based on the options given:
      -IPATH, --proto_path=PATH   Specify the directory in which to search for
                                  imports.  May be specified multiple times;
                                  directories will be searched in order.  If not
                                  given, the current working directory is used.
      --version                   Show version info and exit.
      -h, --help                  Show this text and exit.
      --encode=MESSAGE_TYPE       Read a text-format message of the given type
                                  from standard input and write it in binary
                                  to standard output.  The message type must
                                  be defined in PROTO_FILES or their imports.
      --decode=MESSAGE_TYPE       Read a binary message of the given type from
                                  standard input and write it in text format
                                  to standard output.  The message type must
                                  be defined in PROTO_FILES or their imports.
      --decode_raw                Read an arbitrary protocol message from
                                  standard input and write the raw tag/value
                                  pairs in text format to standard output.  No
                                  PROTO_FILES should be given when using this
                                  flag.
      -oFILE,                     Writes a FileDescriptorSet (a protocol buffer,
        --descriptor_set_out=FILE defined in descriptor.proto) containing all of
                                  the input files to FILE.
      --include_imports           When using --descriptor_set_out, also include
                                  all dependencies of the input files in the
                                  set, so that the set is self-contained.
      --include_source_info       When using --descriptor_set_out, do not strip
                                  SourceCodeInfo from the FileDescriptorProto.
                                  This results in vastly larger descriptors that
                                  include information about the original
                                  location of each decl in the source file as
                                  well as surrounding comments.
      --error_format=FORMAT       Set the format in which to print errors.
                                  FORMAT may be 'gcc' (the default) or 'msvs'
                                  (Microsoft Visual Studio format).
      --plugin=EXECUTABLE         Specifies a plugin executable to use.
                                  Normally, protoc searches the PATH for
                                  plugins, but you may specify additional
                                  executables not in the path using this flag.
                                  Additionally, EXECUTABLE may be of the form
                                  NAME=PATH, in which case the given plugin name
                                  is mapped to the given executable even if
                                  the executable's own name differs.
      --cpp_out=OUT_DIR           Generate C++ header and source.
      --java_out=OUT_DIR          Generate Java source file.
      --python_out=OUT_DIR        Generate Python source file.

    详情如下:

    $ apt-get install protobuf-compiler
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    The following extra packages will be installed:
      libprotobuf8 libprotoc8
    The following NEW packages will be installed:
      libprotobuf8 libprotoc8 protobuf-compiler
    0 upgraded, 3 newly installed, 0 to remove and 1 not upgraded.
    Need to get 550 kB of archives.
    After this operation, 2,133 kB of additional disk space will be used.
    Do you want to continue? [Y/n] y
    Get:1 http://mirrors.aliyun.com/ubuntu/ trusty/main libprotobuf8 amd64 2.5.0-9ubuntu1 [296 kB]
    Get:2 http://mirrors.aliyun.com/ubuntu/ trusty/main libprotoc8 amd64 2.5.0-9ubuntu1 [235 kB]
    Get:3 http://mirrors.aliyun.com/ubuntu/ trusty/main protobuf-compiler amd64 2.5.0-9ubuntu1 [19.8 kB]
    Fetched 550 kB in 0s (608 kB/s)              
    Selecting previously unselected package libprotobuf8:amd64.
    (Reading database ... 38145 files and directories currently installed.)
    Preparing to unpack .../libprotobuf8_2.5.0-9ubuntu1_amd64.deb ...
    Unpacking libprotobuf8:amd64 (2.5.0-9ubuntu1) ...
    Selecting previously unselected package libprotoc8:amd64.
    Preparing to unpack .../libprotoc8_2.5.0-9ubuntu1_amd64.deb ...
    Unpacking libprotoc8:amd64 (2.5.0-9ubuntu1) ...
    Selecting previously unselected package protobuf-compiler.
    Preparing to unpack .../protobuf-compiler_2.5.0-9ubuntu1_amd64.deb ...
    Unpacking protobuf-compiler (2.5.0-9ubuntu1) ...
    Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
    Setting up libprotobuf8:amd64 (2.5.0-9ubuntu1) ...
    Setting up libprotoc8:amd64 (2.5.0-9ubuntu1) ...
    Setting up protobuf-compiler (2.5.0-9ubuntu1) ...
    Processing triggers for libc-bin (2.19-0ubuntu6.6) ...
    $ 
    $ protoc   // 不报错说明成功

    应用:

    安装成功后即可按照https://developers.google.com/protocol-buffers/docs/pythontutorial?hl=zh-cn 教程开始使用。

    疑问:

    关于如何在centos 7/ Mac OS X 操作系统中安装 protobuf-compiler 的简便方法 还未找到方法。再更新吧。

  • 相关阅读:
    linux的软连接和硬连接
    各种Python简单功能代码
    《财报就像一本故事书》刘顺仁(二) ——财务报表
    Atitit .h5文件上传 v3
    Atitti. 语法树AST、后缀表达式、DAG、三地址代码
    Atitit.在线充值功能的设计
    Atitit。数据库 安全性 重要敏感数据加密存储解决方案
    atitit.数据验证db数据库数据验证约束
    Atitit.提升电子商务安全性 在线充值功能安全方面的设计
    Atitit.antlr实现词法分析
  • 原文地址:https://www.cnblogs.com/tangkaixin/p/4794206.html
Copyright © 2020-2023  润新知