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-standalone project" (uv). uv python install 3.14 fetches 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, lzma and zstd modules 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 and libgcc_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/certs on Debian, Ubuntu and openSUSE, /etc/ssl/cert.pem on AlmaLinux 9 and 10, Amazon Linux 2023 and Fedora, or the files SSL_CERT_FILE and SSL_CERT_DIR name.
  • 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 own openssl.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/, pip3 among them, start the interpreter beside them, so a copy moved to another folder runs.
  • pip is current in every environment. python3 -m venv installs 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:

You should see
$ cat /etc/debian_version; ldd --version | head -1; python3 --version
11.11
ldd (Debian GLIBC 2.31-13+deb11u14) 2.31
Python 3.9.2

Nextweb installs into the folder it runs from:

In your terminal
mkdir nextweb-tour && cd nextweb-tour
curl -fsSL https://get.nextwebjs.com | bash
./nextweb

At its prompt, one name brings the newest Python 3:

At the nextweb prompt
pkg install python-runtime
You should see
Resolving 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 successfully

python3.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:

In your terminal
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)"
You should see
Python 3.14.9
OpenSSL 3.5.9 29 Sep 2026
3.54.1

An application gets its own environment from it, and pip installs from PyPI over the machine's certificates:

In your terminal
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__)"
You should see
pip 26.2.2 from /home/you/app-venv/lib/python3.14/site-packages/pip (python 3.14)
200 2.34.2

Where 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.