Skip to main content

HTTP/2-based RPC framework

Project description

gRPC Python
===========

Package for gRPC Python.

Installation
------------

gRPC Python is available for Linux, macOS, and Windows.

>From PyPI
~~~~~~~~~

If you are installing locally...

::

pipinstallgrpcioElsesystemwide(onUbuntu)...:: 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.exeinstallgrpcioWindowsusersmayneedtoinvoke:code:pip.exefromacommandlineranasadministrator.n.b.OnWindowsandonMacOSXonemusthavearecentreleaseof:code:piptoretrievetheproperwheelfromPyPI.Besuretoupgradetothelatestversion!>FromSource           BuildingfromsourcerequiresthatyouhavethePythonheaders(usuallyapackagenamed:code:pythondev).:: export REPO_ROOT=grpc # REPO_ROOT can be any directory of your choice
gitcloneb(curl -L https://grpc.io/release) https://github.com/grpc/grpc REPOROOT cd REPOROOT git submodule update --init

# For the next two commands do `sudo pip install` if you get permission-denied errors
pipinstallrrequirements.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



Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page