How To Install python3-gevent on CentOS 8

python3-gevent is A coroutine-based Python networking library

Introduction

In this tutorial we learn how to install python3-gevent on CentOS 8.

What is python3-gevent

gevent is a coroutine-based Python networking library that uses greenlet to provide a high-level synchronous API on top of libevent event loop. Features include * convenient API around greenlets * familiar synchronization primitives (gevent.event, gevent.queue) * socket module that cooperates * WSGI server on top of libevent-http * DNS requests done through libevent-dns * monkey patching utility to get pure Python modules to cooperate Python 3 version.

We can use yum or dnf to install python3-gevent on CentOS 8. In this tutorial we discuss both methods but you only need to choose one of method to install python3-gevent.

Install python3-gevent on CentOS 8 Using dnf

Update yum database with dnf using the following command.

sudo dnf makecache --refresh

The output should look something like this:

CentOS Linux 8 - AppStream                                       43 kB/s | 4.3 kB     00:00    
CentOS Linux 8 - BaseOS                                          65 kB/s | 3.9 kB     00:00    
CentOS Linux 8 - ContinuousRelease                               43 kB/s | 3.0 kB     00:00    
CentOS Linux 8 - Extras                                          23 kB/s | 1.5 kB     00:00    
CentOS Linux 8 - FastTrack                                       40 kB/s | 3.0 kB     00:00    
CentOS Linux 8 - HighAvailability                                36 kB/s | 3.9 kB     00:00    
CentOS Linux 8 - Plus                                            24 kB/s | 1.5 kB     00:00    
CentOS Linux 8 - PowerTools                                      50 kB/s | 4.3 kB     00:00    
Extra Packages for Enterprise Linux Modular 8 - x86_64           13 kB/s | 9.2 kB     00:00    
Extra Packages for Enterprise Linux 8 - x86_64                   24 kB/s | 8.5 kB     00:00    
Metadata cache created.

After updating yum database, We can install python3-gevent using dnf by running the following command:

sudo dnf -y install python3-gevent

Install python3-gevent on CentOS 8 Using yum

Update yum database with yum using the following command.

sudo yum makecache --refresh

The output should look something like this:

CentOS Linux 8 - AppStream                                       43 kB/s | 4.3 kB     00:00    
CentOS Linux 8 - BaseOS                                          65 kB/s | 3.9 kB     00:00    
CentOS Linux 8 - ContinuousRelease                               43 kB/s | 3.0 kB     00:00    
CentOS Linux 8 - Extras                                          23 kB/s | 1.5 kB     00:00    
CentOS Linux 8 - FastTrack                                       40 kB/s | 3.0 kB     00:00    
CentOS Linux 8 - HighAvailability                                36 kB/s | 3.9 kB     00:00    
CentOS Linux 8 - Plus                                            24 kB/s | 1.5 kB     00:00    
CentOS Linux 8 - PowerTools                                      50 kB/s | 4.3 kB     00:00    
Extra Packages for Enterprise Linux Modular 8 - x86_64           13 kB/s | 9.2 kB     00:00    
Extra Packages for Enterprise Linux 8 - x86_64                   24 kB/s | 8.5 kB     00:00    
Metadata cache created.

After updating yum database, We can install python3-gevent using yum by running the following command:

sudo yum -y install python3-gevent

How To Uninstall python3-gevent on CentOS 8

To uninstall only the python3-gevent package we can use the following command:

sudo dnf remove python3-gevent

python3-gevent Package Contents on CentOS 8

/usr/lib/.build-id
/usr/lib/.build-id/1a
/usr/lib/.build-id/1a/633f2a9ea11a0293603a2f0847deded7a353dc
/usr/lib/.build-id/3a
/usr/lib/.build-id/3a/707b6d65eeda35cf8c99c15cd70b85d93ff895
/usr/lib/.build-id/58
/usr/lib/.build-id/58/08a7c1c4c579915ac375e1511f5822d62fd6f7
/usr/lib64/python3.6/site-packages/gevent
/usr/lib64/python3.6/site-packages/gevent-1.2.2-py3.6.egg-info
/usr/lib64/python3.6/site-packages/gevent-1.2.2-py3.6.egg-info/PKG-INFO
/usr/lib64/python3.6/site-packages/gevent-1.2.2-py3.6.egg-info/SOURCES.txt
/usr/lib64/python3.6/site-packages/gevent-1.2.2-py3.6.egg-info/dependency_links.txt
/usr/lib64/python3.6/site-packages/gevent-1.2.2-py3.6.egg-info/not-zip-safe
/usr/lib64/python3.6/site-packages/gevent-1.2.2-py3.6.egg-info/requires.txt
/usr/lib64/python3.6/site-packages/gevent-1.2.2-py3.6.egg-info/top_level.txt
/usr/lib64/python3.6/site-packages/gevent/__init__.py
/usr/lib64/python3.6/site-packages/gevent/__pycache__
/usr/lib64/python3.6/site-packages/gevent/__pycache__/__init__.cpython-36.opt-1.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/__init__.cpython-36.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/_compat.cpython-36.opt-1.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/_compat.cpython-36.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/_fileobjectcommon.cpython-36.opt-1.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/_fileobjectcommon.cpython-36.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/_fileobjectposix.cpython-36.opt-1.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/_fileobjectposix.cpython-36.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/_semaphore.cpython-36.opt-1.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/_semaphore.cpython-36.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/_socket3.cpython-36.opt-1.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/_socket3.cpython-36.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/_socketcommon.cpython-36.opt-1.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/_socketcommon.cpython-36.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/_ssl3.cpython-36.opt-1.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/_ssl3.cpython-36.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/_sslgte279.cpython-36.opt-1.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/_sslgte279.cpython-36.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/_tblib.cpython-36.opt-1.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/_tblib.cpython-36.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/_threading.cpython-36.opt-1.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/_threading.cpython-36.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/_util.cpython-36.opt-1.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/_util.cpython-36.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/backdoor.cpython-36.opt-1.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/backdoor.cpython-36.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/baseserver.cpython-36.opt-1.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/baseserver.cpython-36.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/builtins.cpython-36.opt-1.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/builtins.cpython-36.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/core.cpython-36.opt-1.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/core.cpython-36.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/event.cpython-36.opt-1.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/event.cpython-36.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/fileobject.cpython-36.opt-1.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/fileobject.cpython-36.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/greenlet.cpython-36.opt-1.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/greenlet.cpython-36.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/hub.cpython-36.opt-1.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/hub.cpython-36.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/local.cpython-36.opt-1.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/local.cpython-36.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/lock.cpython-36.opt-1.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/lock.cpython-36.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/monkey.cpython-36.opt-1.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/monkey.cpython-36.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/os.cpython-36.opt-1.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/os.cpython-36.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/pool.cpython-36.opt-1.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/pool.cpython-36.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/pywsgi.cpython-36.opt-1.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/pywsgi.cpython-36.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/queue.cpython-36.opt-1.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/queue.cpython-36.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/resolver_ares.cpython-36.opt-1.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/resolver_ares.cpython-36.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/resolver_thread.cpython-36.opt-1.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/resolver_thread.cpython-36.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/select.cpython-36.opt-1.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/select.cpython-36.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/server.cpython-36.opt-1.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/server.cpython-36.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/signal.cpython-36.opt-1.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/signal.cpython-36.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/socket.cpython-36.opt-1.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/socket.cpython-36.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/ssl.cpython-36.opt-1.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/ssl.cpython-36.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/subprocess.cpython-36.opt-1.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/subprocess.cpython-36.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/thread.cpython-36.opt-1.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/thread.cpython-36.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/threading.cpython-36.opt-1.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/threading.cpython-36.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/threadpool.cpython-36.opt-1.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/threadpool.cpython-36.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/timeout.cpython-36.opt-1.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/timeout.cpython-36.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/util.cpython-36.opt-1.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/util.cpython-36.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/win32util.cpython-36.opt-1.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/win32util.cpython-36.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/wsgi.cpython-36.opt-1.pyc
/usr/lib64/python3.6/site-packages/gevent/__pycache__/wsgi.cpython-36.pyc
/usr/lib64/python3.6/site-packages/gevent/_compat.py
/usr/lib64/python3.6/site-packages/gevent/_fileobjectcommon.py
/usr/lib64/python3.6/site-packages/gevent/_fileobjectposix.py
/usr/lib64/python3.6/site-packages/gevent/_semaphore.cpython-36m-x86_64-linux-gnu.so
/usr/lib64/python3.6/site-packages/gevent/_semaphore.py
/usr/lib64/python3.6/site-packages/gevent/_socket3.py
/usr/lib64/python3.6/site-packages/gevent/_socketcommon.py
/usr/lib64/python3.6/site-packages/gevent/_ssl3.py
/usr/lib64/python3.6/site-packages/gevent/_sslgte279.py
/usr/lib64/python3.6/site-packages/gevent/_tblib.py
/usr/lib64/python3.6/site-packages/gevent/_threading.py
/usr/lib64/python3.6/site-packages/gevent/_util.py
/usr/lib64/python3.6/site-packages/gevent/ares.cpython-36m-x86_64-linux-gnu.so
/usr/lib64/python3.6/site-packages/gevent/backdoor.py
/usr/lib64/python3.6/site-packages/gevent/baseserver.py
/usr/lib64/python3.6/site-packages/gevent/builtins.py
/usr/lib64/python3.6/site-packages/gevent/core.py
/usr/lib64/python3.6/site-packages/gevent/event.py
/usr/lib64/python3.6/site-packages/gevent/fileobject.py
/usr/lib64/python3.6/site-packages/gevent/greenlet.py
/usr/lib64/python3.6/site-packages/gevent/hub.py
/usr/lib64/python3.6/site-packages/gevent/libev
/usr/lib64/python3.6/site-packages/gevent/libev/__init__.py
/usr/lib64/python3.6/site-packages/gevent/libev/__pycache__
/usr/lib64/python3.6/site-packages/gevent/libev/__pycache__/__init__.cpython-36.opt-1.pyc
/usr/lib64/python3.6/site-packages/gevent/libev/__pycache__/__init__.cpython-36.pyc
/usr/lib64/python3.6/site-packages/gevent/libev/__pycache__/_corecffi_build.cpython-36.opt-1.pyc
/usr/lib64/python3.6/site-packages/gevent/libev/__pycache__/_corecffi_build.cpython-36.pyc
/usr/lib64/python3.6/site-packages/gevent/libev/__pycache__/corecffi.cpython-36.opt-1.pyc
/usr/lib64/python3.6/site-packages/gevent/libev/__pycache__/corecffi.cpython-36.pyc
/usr/lib64/python3.6/site-packages/gevent/libev/_corecffi_build.py
/usr/lib64/python3.6/site-packages/gevent/libev/corecext.cpython-36m-x86_64-linux-gnu.so
/usr/lib64/python3.6/site-packages/gevent/libev/corecffi.py
/usr/lib64/python3.6/site-packages/gevent/local.py
/usr/lib64/python3.6/site-packages/gevent/lock.py
/usr/lib64/python3.6/site-packages/gevent/monkey.py
/usr/lib64/python3.6/site-packages/gevent/os.py
/usr/lib64/python3.6/site-packages/gevent/pool.py
/usr/lib64/python3.6/site-packages/gevent/pywsgi.py
/usr/lib64/python3.6/site-packages/gevent/queue.py
/usr/lib64/python3.6/site-packages/gevent/resolver_ares.py
/usr/lib64/python3.6/site-packages/gevent/resolver_thread.py
/usr/lib64/python3.6/site-packages/gevent/select.py
/usr/lib64/python3.6/site-packages/gevent/server.py
/usr/lib64/python3.6/site-packages/gevent/signal.py
/usr/lib64/python3.6/site-packages/gevent/socket.py
/usr/lib64/python3.6/site-packages/gevent/ssl.py
/usr/lib64/python3.6/site-packages/gevent/subprocess.py
/usr/lib64/python3.6/site-packages/gevent/thread.py
/usr/lib64/python3.6/site-packages/gevent/threading.py
/usr/lib64/python3.6/site-packages/gevent/threadpool.py
/usr/lib64/python3.6/site-packages/gevent/timeout.py
/usr/lib64/python3.6/site-packages/gevent/util.py
/usr/lib64/python3.6/site-packages/gevent/win32util.py
/usr/lib64/python3.6/site-packages/gevent/wsgi.py
/usr/share/doc/python3-gevent
/usr/share/doc/python3-gevent/README.rst
/usr/share/licenses/python3-gevent
/usr/share/licenses/python3-gevent/LICENSE

References

Summary

In this tutorial we learn how to install python3-gevent on CentOS 8 using yum and dnf.