How to run Python 3.14 on Debian 11, Ubuntu 20.04 or RHEL 9 without building it
Debian 11 ships Python 3.9 and Ubuntu 20.04 3.8. What each release ships, the usual ways to a newer Python, and a portable 3.14 that needs only glibc 2.31.
· about 6 minutes to read
Python 3.14.9 came out on 21 October 2026. The Python a Linux release installs from its own repositories is the one it shipped with, often several versions older, and the usual ways to get a newer one either build it on the server or come from someone else's archive. This page lists what each release ships, what each way costs, what a Python has to carry to run on all of them, and how Nextweb installs one, shown from a run on a Debian 11 machine on 25 October 2026.
What each release ships
The python3 each release's own repositories install, read on 25 October 2026 from Debian, Ubuntu and Red Hat:
| Release | python3 |
|---|---|
| Debian 11 | 3.9.2 |
| Debian 12 | 3.11.2 |
| Debian 13 | 3.13.5 |
| Ubuntu 20.04 | 3.8.2 |
| Ubuntu 22.04 | 3.10.6 |
| Ubuntu 24.04 | 3.12.3 |
| Ubuntu 26.04 | 3.14.3 |
| RHEL 9 | 3.9, with 3.11 and 3.12 beside it |
For RHEL 9, Red Hat says "Python 3.9 is the default Python implementation in RHEL 9", and that "Additional versions of Python 3 are distributed as non-modular RPM packages with a shorter life cycle through the AppStream repository": 3.11 since RHEL 9.2 and 3.12 since 9.4. Even Ubuntu 26.04 is six maintenance releases behind 3.14.9.
The 3.14.9 release page calls it "an expedited security release", and says it upgrades the bundled pip to 26.2.2 to address a certificate security incident.
The usual ways to a newer Python
Each of these is how its own pages describe it, as read on 25 October 2026.
- The deadsnakes PPA. "This PPA contains more recent Python versions packaged for Ubuntu", for Ubuntu 22.04, 24.04 and 26.04. It is for Ubuntu only, Ubuntu 20.04 is not on its list, and it warns that "there's no guarantee of timely updates in case of security problems or other issues" (deadsnakes).
- pyenv. "Most Pyenv-provided Python releases are source releases and are built from source as part of installation", so "you need Python build dependencies preinstalled" (pyenv): a compiler and the development headers of the libraries Python links, on the server, and a Python that depends on that server's libraries afterwards.
- uv. "Python does not publish official distributable binaries", so uv "uses distributions from the Astral
python-build-standaloneproject" (uv).uv python install 3.14fetches one. - Building from python.org's source yourself is what pyenv does, by hand.
What a Python has to carry to run on all of them
Nextweb built its Python 3.14.9, 3.13.17 and 3.12.15 runtimes this month, and these are the points that decided whether one build runs on every release above.
- The libraries go inside. Python's
ssl,sqlite3,ctypes,lzmaandzstdmodules link OpenSSL, SQLite, libffi, xz and zstd. A Python built against the server's copies needs those exact versions wherever it goes. Nextweb's runtimes link OpenSSL 3.5.9, SQLite 3.54.1 and the rest statically, and every program and module in them may need only glibc 2.31 or later andlibgcc_s; a check refuses the build otherwise. glibc 2.31 is Debian 11's. - Certificates are the system's. A Python that carries its own OpenSSL still has to find the machine's trusted certificates. These look where each family keeps them:
/etc/ssl/certson Debian, Ubuntu and openSUSE,/etc/ssl/cert.pemon AlmaLinux 9 and 10, Amazon Linux 2023 and Fedora, or the filesSSL_CERT_FILEandSSL_CERT_DIRname. - The system's OpenSSL configuration stays out. On Fedora 42 every TLS connection from the first build failed with
CONF: MODULE_INITIALIZATION_ERROR: the OpenSSL inside read Fedora's ownopenssl.cnf, which names a setting only Red Hat's OpenSSL knows and makes any configuration error fatal. The runtimes now never read the system's OpenSSL configuration. - It runs from wherever it is. The scripts in
bin/,pip3among them, start the interpreter beside them, so a copy moved to another folder runs. - pip is current in every environment.
python3 -m venvinstalls the pip the runtime bundles. Python 3.12.15 bundles pip 25.0.1; Nextweb's 3.12.15 replaces it with pip 26.2.2, which 3.14.9 and 3.13.17 already bundle.
They leave out tkinter, curses, GNU readline (the interactive prompt has no line editing), dbm and gdbm.
Install it with Nextweb
The run below is a fresh Debian 11 virtual machine on 25 October 2026, with Nextweb 1.0.0-beta.1.rc.8 (build 175) from the download page. Its own Python first:
$ cat /etc/debian_version; ldd --version | head -1; python3 --version
11.11
ldd (Debian GLIBC 2.31-13+deb11u14) 2.31
Python 3.9.2Nextweb installs into the folder it runs from:
mkdir nextweb-tour && cd nextweb-tour
curl -fsSL https://get.nextwebjs.com | bash
./nextwebAt its prompt, one name brings the newest Python 3:
pkg install python-runtimeResolving dependencies...
Architecture: x64 (auto-detected)
Installation order: python-runtime
Installing 1 package(s)...
Installing python-runtime...
...
[python-runtime] Installing python3.14.9-linux-x64 runtime to /home/you/nextweb-tour/nextweb_server/runtime/python3.14.9-linux-x64
...
python3.14.9-linux-x64 3.14.9 installed successfullypython3.13-runtime and python3.12-runtime bring the other two, and each installs by its full name too, such as python3.14.9-linux-x64. The runtime is an ordinary folder:
cd nextweb_server/runtime/python3.14.9-linux-x64
bin/python3 --version
bin/python3 -c "import ssl, sqlite3; print(ssl.OPENSSL_VERSION); print(sqlite3.sqlite_version)"Python 3.14.9
OpenSSL 3.5.9 29 Sep 2026
3.54.1An application gets its own environment from it, and pip installs from PyPI over the machine's certificates:
bin/python3 -m venv ~/app-venv
~/app-venv/bin/pip --version
~/app-venv/bin/pip install -q requests
~/app-venv/bin/python -c "import requests; r = requests.get('https://pypi.org/simple/pip/'); print(r.status_code, requests.__version__)"pip 26.2.2 from /home/you/app-venv/lib/python3.14/site-packages/pip (python 3.14)
200 2.34.2Where it was tested
Before they were published on 24 October 2026, each of the three runtimes was installed and checked by Nextweb's verification on Debian 11, 12 and 13, Ubuntu 20.04, 22.04, 24.04 and 26.04, AlmaLinux 9 and 10, Amazon Linux 2023 and Fedora 42. The check covers the versions, the modules, a TLS fetch from PyPI, a virtual environment with pip, a wheel installed offline, a moved copy, and the library check. The runtimes need glibc 2.31 or later on x86_64; the nextweb program itself starts on glibc 2.30 and up, as the download page says.
Nextweb does not deploy Python applications yet: deploy runs Node.js applications and WordPress. The runtime runs whatever you start with it.
Questions
Does it need a compiler or system packages?
No. Nextweb installs the runtime into its own folder, and the run on this page used a fresh Debian 11 machine with nothing added but curl.
Which Linux does it run on?
x86-64 Linux with glibc 2.31 or later. Each runtime was tested on Debian 11 to 13, Ubuntu 20.04 to 26.04, AlmaLinux 9 and 10, Amazon Linux 2023 and Fedora 42 before it was published.
Can Nextweb deploy a Python web application?
Not yet. Nextweb deploys Node.js applications and WordPress. The Python runtime runs what you start with it.
Related: The Python packages, Download Nextweb.