xref: /aosp_15_r20/external/grpc-grpc/src/python/grpcio/README.rst (revision cc02d7e222339f7a4f6ba5f422e6413f4bd931f2)
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