Note
If you are reading this document on the Python Package Index (PyPI, https://pypi.org/), it is specific to the version of gevent that you are viewing. If you are viewing this document on gevent.org, it refers to the current state of gevent in source control (git master).
This version of gevent runs on Python 2.7.9 and up, and many versions
of Python 3 (for exact details, see the classifiers on the PyPI page
or in setup.py
). gevent requires the greenlet
library and will install the cffi library by default on Windows.
The cffi library will become the default on all platforms in a future
release of gevent.
This version of gevent also runs on PyPy 7.3.7 (7.3.6 for PyPy2) or above. On PyPy, there are no external dependencies.
gevent is tested on Windows, macOS, and Linux, and should run on most other Unix-like operating systems (e.g., FreeBSD, Solaris, etc.)
Note
Windows is supported as a tier 2, “best effort,” platform. It is suitable for development, but not recommended for production. In particular, PyPy3 on Windows may have issues, especially with subprocesses.
On Windows using the deprecated libev backend, gevent is limited to a maximum of 1024 open sockets due to limitations in libev. This limitation should not exist with the default libuv backend.
Users of older versions of Python 2 or Python 3 may install an older version of gevent. Note that these versions are generally not supported.
Python Version |
Gevent Version |
---|---|
2.5 |
1.0.x |
2.6 |
1.1.x |
<= 2.7.8 |
1.2.x |
3.3 |
1.2.x |
3.4.0 - 3.4.2 |
1.3.x |
3.4.3 |
1.4.x |
3.5.x |
20.9.0 |
Note
This section is about installing released versions of gevent as distributed on the Python Package Index. For building gevent from source, including customizing the build and embedded libraries, see Installing From Source.
gevent and greenlet can both be installed with pip, e.g., pip
install gevent
. Installation using buildout is also supported.
On Windows, macOS, and Linux, both gevent and greenlet are distributed as binary wheels.
Tip
You need Pip 8.0 or later, or buildout 2.10.0 to install the binary wheels on Windows or macOS. On Linux, you’ll need pip 19 to install the manylinux2010 wheels.
Tip
Binary wheels cannot be installed on non-manylinux2010 compatible Linux systems, such as those that use musl, including Alpine Linux. Those systems must install from source.
Tip
Beginning with gevent 20.12.0, 64-bit ARM binaries are distributed
on PyPI for aarch64 manylinux2014 compatible systems. Installing these
needs a very recent version of pip
. These wheels do not
contain the c-ares resolver, are not tested, and are built with
very low levels of optimizations. Serious production users of
gevent on 64-bit ARM systems are encouraged to build their own
binary wheels.
Beginning with gevent 22.10.0, ppc64le binaries are distributed on PyPI. The same caveats apply as for 64-bit ARM binaries. Using them for anything other than local development is discouraged.
If you are unable to use the binary wheels (for platforms where no
pre-built wheels are available or if wheel installation is disabled),
you can build gevent from source. A normal pip install
will
fall back to doing this if no binary wheel is available. See
Installing From Source for more, including common installation issues.
There are a number
of additional libraries that extend gevent’s functionality and will be
used if they are available. All of these may be installed using
setuptools extras,
as named below, e.g., pip install gevent[events]
.
In versions of gevent up to and including 20.5.0, this provided configurable event support using zope.event and was highly recommended.
In versions after that, this extra is empty and does nothing. It will be removed in gevent 21.0.
Enables a pure-Python resolver, backed by dnspython. On Python 2, this also
includes idna. They can be
installed with the dnspython
extra.
Note
This is not compatible with Python 3.10 or dnspython 2.
Enhancements to gevent’s self-monitoring capabilities. This includes the psutil library which is needed to monitor memory usage. (Note that this may not build on all platforms.)
A shortcut for installing suggested extras together. This includes the non-test extras defined here, plus:
backports.socketpair on Python 2/Windows (beginning with release 20.6.0);
selectors2 on Python 2 (beginning with release 20.6.0).
Everything needed to run the complete gevent test suite.
Next page: Changelog