Home | History | Annotate | only in /external/protobuf/python
Up to higher level directory
NameDateSize
google/21-Aug-2018
MANIFEST.in21-Aug-2018423
mox.py21-Aug-201837.3K
README.md21-Aug-20184.1K
setup.py21-Aug-20189.8K
stubout.py21-Aug-20184.8K
tox.ini21-Aug-2018740

README.md

      1 Protocol Buffers - Google's data interchange format
      2 ===================================================
      3 
      4 [![Build Status](https://travis-ci.org/google/protobuf.svg?branch=master)](https://travis-ci.org/google/protobuf)
      5 
      6 Copyright 2008 Google Inc.
      7 
      8 This directory contains the Python Protocol Buffers runtime library.
      9 
     10 Normally, this directory comes as part of the protobuf package, available
     11 from:
     12 
     13   https://developers.google.com/protocol-buffers/
     14 
     15 The complete package includes the C++ source code, which includes the
     16 Protocol Compiler (protoc).  If you downloaded this package from PyPI
     17 or some other Python-specific source, you may have received only the
     18 Python part of the code.  In this case, you will need to obtain the
     19 Protocol Compiler from some other source before you can use this
     20 package.
     21 
     22 Development Warning
     23 ===================
     24 
     25 The Python implementation of Protocol Buffers is not as mature as the C++
     26 and Java implementations.  It may be more buggy, and it is known to be
     27 pretty slow at this time.  If you would like to help fix these issues,
     28 join the Protocol Buffers discussion list and let us know!
     29 
     30 Installation
     31 ============
     32 
     33 1) Make sure you have Python 2.6 or newer.  If in doubt, run:
     34 
     35      $ python -V
     36 
     37 2) If you do not have setuptools installed, note that it will be
     38    downloaded and installed automatically as soon as you run setup.py.
     39    If you would rather install it manually, you may do so by following
     40    the instructions on this page:
     41 
     42      https://packaging.python.org/en/latest/installing.html#setup-for-installing-packages
     43 
     44 3) Build the C++ code, or install a binary distribution of protoc.  If
     45    you install a binary distribution, make sure that it is the same
     46    version as this package.  If in doubt, run:
     47 
     48      $ protoc --version
     49 
     50 4) Build and run the tests:
     51 
     52      $ python setup.py build
     53      $ python setup.py test
     54 
     55      To build, test, and use the C++ implementation, you must first compile
     56      libprotobuf.so:
     57 
     58      $ (cd .. && make)
     59 
     60      On OS X:
     61 
     62       If you are running a homebrew-provided python, you must make sure another
     63       version of protobuf is not already installed, as homebrew's python will
     64       search /usr/local/lib for libprotobuf.so before it searches ../src/.libs
     65       You can either unlink homebrew's protobuf or install the libprotobuf you
     66       built earlier:
     67 
     68       $ brew unlink protobuf
     69       or
     70       $ (cd .. && make install)
     71 
     72      On other *nix:
     73 
     74       You must make libprotobuf.so dynamically available. You can either
     75       install libprotobuf you built earlier, or set LD_LIBRARY_PATH:
     76 
     77       $ export LD_LIBRARY_PATH=../src/.libs
     78       or
     79       $ (cd .. && make install)
     80 
     81      To build the C++ implementation run:
     82      $ python setup.py build --cpp_implementation
     83 
     84      Then run the tests like so:
     85      $ python setup.py test --cpp_implementation
     86 
     87    If some tests fail, this library may not work correctly on your
     88    system.  Continue at your own risk.
     89 
     90    Please note that there is a known problem with some versions of
     91    Python on Cygwin which causes the tests to fail after printing the
     92    error:  "sem_init: Resource temporarily unavailable".  This appears
     93    to be a bug either in Cygwin or in Python:
     94      http://www.cygwin.com/ml/cygwin/2005-07/msg01378.html
     95    We do not know if or when it might me fixed.  We also do not know
     96    how likely it is that this bug will affect users in practice.
     97 
     98 5) Install:
     99 
    100     $ python setup.py install
    101 
    102   or:
    103 
    104     $ (cd .. && make install)
    105     $ python setup.py install --cpp_implementation
    106 
    107    This step may require superuser privileges.
    108    NOTE: To use C++ implementation, you need to export an environment
    109    variable before running your program.  See the "C++ Implementation"
    110    section below for more details.
    111 
    112 Usage
    113 =====
    114 
    115 The complete documentation for Protocol Buffers is available via the
    116 web at:
    117 
    118   https://developers.google.com/protocol-buffers/
    119 
    120 C++ Implementation
    121 ==================
    122 
    123 The C++ implementation for Python messages is built as a Python extension to
    124 improve the overall protobuf Python performance.
    125 
    126 To use the C++ implementation, you need to install the C++ protobuf runtime
    127 library, please see instructions in the parent directory.
    128