In this tutorial, we will show you how to install Python 3.9 on CentOS 8. Python is an open-source and beginner-friendly programming language. Python 3.9 uses a new more flexible parser, based on PEG, which replaces the LL parser. In the next Python versions, the old parser will be deleted.
This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘
sudo‘ to the commands to get root privileges. I will show you through the step-by-step installation of Python 3.9 on a CentOS 8.
Install Python 3.9 on CentOS 8
Step 1. First, let’s start by ensuring your system is up-to-date and install all required dependency.
sudo dnf install epel-release sudo dnf update sudo dnf install gcc openssl-devel bzip2-devel libffi-devel
Step 2. Installing Python 3.9 on CentOS 8.
Now we download Python from its official site using the following command:
cd /opt wget https://www.python.org/ftp/python/3.9.0/Python-3.9.0tgz
Then, you must extract the downloaded archive:
tar xzf Python-3.9.0tgz
Next, we configure the source files based on your server or system environment:
cd Python-3.9.0 sudo ./configure --enable-optimizations sudo make altinstall
After completing the installation steps, now check the installed versions of Python:
Step 3. Create Virtual Environment.
Nowadays Python virtual environment is a great tool and almost necessary for every Python project. It enables you to have more isolated Python spaces on one Linux box:
sudo /usr/local/bin/python3.9 -m venv /home/godetz/python-app/venv
All the files will be generated under
/home/godetz/python-app/venv a directory. You can active the environment by running the command:
Congratulations! You have successfully installed Python. Thanks for using this tutorial for installing Python 3.9 on CentOS 8 system. For additional help or useful information, we recommend you to check the official Python website.