Introduction
This article explains how to install the latest version of Python3 from source code on Debian 10.
Prerequisites
- Deploy a Rcs Debian 10 VPS instance.
- Login as root.
- Update the Debian server.
1. Check the Installed Version
Check the installed Python3 version.
# python3 -VYou will see something like this.
Python 3.7.3If your version is older than your application requires, proceed with this guide.
2. Update Python3
Install the required dependencies to compile the Python source code.
# apt-get install wget build-essential libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev zlib1g-dev liblzma-dev -yVisit Python's Source Code Download page to find the latest gzipped source release. Replace the URLs and filenames in this guide with the latest version.
Download the latest Python3 source code.
# wget https://www.python.org/ftp/python/3.9.6/Python-3.9.6.tgzExtract the downloaded python source code archive.
# tar xzf Python-3.9.6.tgzCompile the python source code.
# cd Python-3.9.6 && ./configure --enable-optimizationsInstall Python.
# make altinstallCheck the name of your new Python executable.
# ls /usr/local/bin/python*Set the new Python executable as default. Replace the two instances of
/python3.9in the following command with the name of your new Python executable.# update-alternatives --install /usr/bin/python python /usr/local/bin/python3.9 1
2. Update Pip
Update pip. Use the name of your new Python executable in the following command.
# /usr/local/bin/python3.9 -m pip install --upgrade pipCheck the name of your new pip executable.
# ls /usr/local/bin/pip*Set the new pip as the default. Use the name of your new pip executable in the following command.
# update-alternatives --install /usr/bin/pip pip /usr/local/bin/pip3.9 1Check the current version of Python and pip.
# python -V && pip -VYou will see something like this:
Python 3.9.6 pip 21.2.3 from /usr/local/lib/python3.9/site-packages/pip (python 3.9)
Conclusion
Keeping your Python up-to-date is an important part of the development process. It provides bug fixes compared to older versions, and more importantly, it introduces new features and optimizations.