gRPC Python =========== Package for gRPC Python. Installation ------------ gRPC Python is available for Linux, macOS, and Windows. From PyPI ~~~~~~~~~ If you are installing locally... :: $ pip install grpcio Else system wide (on Ubuntu)... :: $ sudo pip install grpcio If you're on Windows make sure that you installed the :code:`pip.exe` component when you installed Python (if not go back and install it!) then invoke: :: $ pip.exe install grpcio Windows users may need to invoke :code:`pip.exe` from a command line ran as administrator. n.b. On Windows and on Mac OS X one *must* have a recent release of :code:`pip` to retrieve the proper wheel from PyPI. Be sure to upgrade to the latest version! From Source ~~~~~~~~~~~ Building from source requires that you have the Python headers (usually a package named :code:`python-dev`). :: $ export REPO_ROOT=grpc # REPO_ROOT can be any directory of your choice $ git clone -b $(curl -L https://grpc.io/release) https://github.com/grpc/grpc $REPO_ROOT $ cd $REPO_ROOT $ git submodule update --init # For the next two commands do `sudo pip install` if you get permission-denied errors $ pip install -rrequirements.txt $ GRPC_PYTHON_BUILD_WITH_CYTHON=1 pip install . You cannot currently install Python from source on Windows. Things might work out for you in MSYS2 (follow the Linux instructions), but it isn't officially supported at the moment. Troubleshooting ~~~~~~~~~~~~~~~ Help, I ... * **... see a** :code:`pkg_resources.VersionConflict` **when I try to install grpc** This is likely because :code:`pip` doesn't own the offending dependency, which in turn is likely because your operating system's package manager owns it. You'll need to force the installation of the dependency: :code:`pip install --ignore-installed $OFFENDING_DEPENDENCY` For example, if you get an error like the following: :: Traceback (most recent call last): File "<string>", line 17, in <module> ... File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 509, in find raise VersionConflict(dist, req) pkg_resources.VersionConflict: (six 1.8.0 (/usr/lib/python2.7/dist-packages), Requirement.parse('six>=1.10')) You can fix it by doing: :: sudo pip install --ignore-installed six * **... see the following error on some platforms** :: /tmp/pip-build-U8pSsr/cython/Cython/Plex/Scanners.c:4:20: fatal error: Python.h: No such file or directory #include "Python.h" ^ compilation terminated. You can fix it by installing `python-dev` package. i.e :: sudo apt-get install python-dev