1*cc02d7e2SAndroid Build Coastguard WorkergRPC Python 2*cc02d7e2SAndroid Build Coastguard Worker=========== 3*cc02d7e2SAndroid Build Coastguard Worker 4*cc02d7e2SAndroid Build Coastguard Worker|compat_check_pypi| 5*cc02d7e2SAndroid Build Coastguard Worker 6*cc02d7e2SAndroid Build Coastguard WorkerPackage for gRPC Python. 7*cc02d7e2SAndroid Build Coastguard Worker 8*cc02d7e2SAndroid Build Coastguard Worker.. |compat_check_pypi| image:: https://python-compatibility-tools.appspot.com/one_badge_image?package=grpcio 9*cc02d7e2SAndroid Build Coastguard Worker :target: https://python-compatibility-tools.appspot.com/one_badge_target?package=grpcio 10*cc02d7e2SAndroid Build Coastguard Worker 11*cc02d7e2SAndroid Build Coastguard WorkerSupported Python Versions 12*cc02d7e2SAndroid Build Coastguard Worker------------------------- 13*cc02d7e2SAndroid Build Coastguard WorkerPython >= 3.8 14*cc02d7e2SAndroid Build Coastguard Worker 15*cc02d7e2SAndroid Build Coastguard WorkerInstallation 16*cc02d7e2SAndroid Build Coastguard Worker------------ 17*cc02d7e2SAndroid Build Coastguard Worker 18*cc02d7e2SAndroid Build Coastguard WorkergRPC Python is available for Linux, macOS, and Windows. 19*cc02d7e2SAndroid Build Coastguard Worker 20*cc02d7e2SAndroid Build Coastguard WorkerInstalling From PyPI 21*cc02d7e2SAndroid Build Coastguard Worker~~~~~~~~~~~~~~~~~~~~ 22*cc02d7e2SAndroid Build Coastguard Worker 23*cc02d7e2SAndroid Build Coastguard WorkerIf you are installing locally... 24*cc02d7e2SAndroid Build Coastguard Worker 25*cc02d7e2SAndroid Build Coastguard Worker:: 26*cc02d7e2SAndroid Build Coastguard Worker 27*cc02d7e2SAndroid Build Coastguard Worker $ pip install grpcio 28*cc02d7e2SAndroid Build Coastguard Worker 29*cc02d7e2SAndroid Build Coastguard WorkerElse system wide (on Ubuntu)... 30*cc02d7e2SAndroid Build Coastguard Worker 31*cc02d7e2SAndroid Build Coastguard Worker:: 32*cc02d7e2SAndroid Build Coastguard Worker 33*cc02d7e2SAndroid Build Coastguard Worker $ sudo pip install grpcio 34*cc02d7e2SAndroid Build Coastguard Worker 35*cc02d7e2SAndroid Build Coastguard WorkerIf you're on Windows make sure that you installed the :code:`pip.exe` component 36*cc02d7e2SAndroid Build Coastguard Workerwhen you installed Python (if not go back and install it!) then invoke: 37*cc02d7e2SAndroid Build Coastguard Worker 38*cc02d7e2SAndroid Build Coastguard Worker:: 39*cc02d7e2SAndroid Build Coastguard Worker 40*cc02d7e2SAndroid Build Coastguard Worker $ pip.exe install grpcio 41*cc02d7e2SAndroid Build Coastguard Worker 42*cc02d7e2SAndroid Build Coastguard WorkerWindows users may need to invoke :code:`pip.exe` from a command line ran as 43*cc02d7e2SAndroid Build Coastguard Workeradministrator. 44*cc02d7e2SAndroid Build Coastguard Worker 45*cc02d7e2SAndroid Build Coastguard Workern.b. On Windows and on Mac OS X one *must* have a recent release of :code:`pip` 46*cc02d7e2SAndroid Build Coastguard Workerto retrieve the proper wheel from PyPI. Be sure to upgrade to the latest 47*cc02d7e2SAndroid Build Coastguard Workerversion! 48*cc02d7e2SAndroid Build Coastguard Worker 49*cc02d7e2SAndroid Build Coastguard WorkerInstalling From Source 50*cc02d7e2SAndroid Build Coastguard Worker~~~~~~~~~~~~~~~~~~~~~~ 51*cc02d7e2SAndroid Build Coastguard Worker 52*cc02d7e2SAndroid Build Coastguard WorkerBuilding from source requires that you have the Python headers (usually a 53*cc02d7e2SAndroid Build Coastguard Workerpackage named :code:`python-dev`). 54*cc02d7e2SAndroid Build Coastguard Worker 55*cc02d7e2SAndroid Build Coastguard Worker:: 56*cc02d7e2SAndroid Build Coastguard Worker 57*cc02d7e2SAndroid Build Coastguard Worker $ export REPO_ROOT=grpc # REPO_ROOT can be any directory of your choice 58*cc02d7e2SAndroid Build Coastguard Worker $ git clone -b RELEASE_TAG_HERE https://github.com/grpc/grpc $REPO_ROOT 59*cc02d7e2SAndroid Build Coastguard Worker $ cd $REPO_ROOT 60*cc02d7e2SAndroid Build Coastguard Worker $ git submodule update --init 61*cc02d7e2SAndroid Build Coastguard Worker 62*cc02d7e2SAndroid Build Coastguard Worker # For the next two commands do `sudo pip install` if you get permission-denied errors 63*cc02d7e2SAndroid Build Coastguard Worker $ pip install -r requirements.txt 64*cc02d7e2SAndroid Build Coastguard Worker $ GRPC_PYTHON_BUILD_WITH_CYTHON=1 pip install . 65*cc02d7e2SAndroid Build Coastguard Worker 66*cc02d7e2SAndroid Build Coastguard WorkerYou cannot currently install Python from source on Windows. Things might work 67*cc02d7e2SAndroid Build Coastguard Workerout for you in MSYS2 (follow the Linux instructions), but it isn't officially 68*cc02d7e2SAndroid Build Coastguard Workersupported at the moment. 69*cc02d7e2SAndroid Build Coastguard Worker 70*cc02d7e2SAndroid Build Coastguard WorkerTroubleshooting 71*cc02d7e2SAndroid Build Coastguard Worker~~~~~~~~~~~~~~~ 72*cc02d7e2SAndroid Build Coastguard Worker 73*cc02d7e2SAndroid Build Coastguard WorkerHelp, I ... 74*cc02d7e2SAndroid Build Coastguard Worker 75*cc02d7e2SAndroid Build Coastguard Worker* **... see the following error on some platforms** 76*cc02d7e2SAndroid Build Coastguard Worker 77*cc02d7e2SAndroid Build Coastguard Worker :: 78*cc02d7e2SAndroid Build Coastguard Worker 79*cc02d7e2SAndroid Build Coastguard Worker /tmp/pip-build-U8pSsr/cython/Cython/Plex/Scanners.c:4:20: fatal error: Python.h: No such file or directory 80*cc02d7e2SAndroid Build Coastguard Worker #include "Python.h" 81*cc02d7e2SAndroid Build Coastguard Worker ^ 82*cc02d7e2SAndroid Build Coastguard Worker compilation terminated. 83*cc02d7e2SAndroid Build Coastguard Worker 84*cc02d7e2SAndroid Build Coastguard Worker You can fix it by installing `python-dev` package. i.e 85*cc02d7e2SAndroid Build Coastguard Worker 86*cc02d7e2SAndroid Build Coastguard Worker :: 87*cc02d7e2SAndroid Build Coastguard Worker 88*cc02d7e2SAndroid Build Coastguard Worker sudo apt-get install python-dev 89*cc02d7e2SAndroid Build Coastguard Worker 90