Upgrade Python Linux ~upd~ [FAST]
Instead, install new Python versions alongside the system Python. Method 1: Using the Official Python Installer (Recommended) This method works on almost any Linux distribution and installs Python to /usr/local/bin , leaving the system Python untouched. Step 1: Install Dependencies # Debian/Ubuntu sudo apt update sudo apt install -y build-essential libssl-dev zlib1g-dev \ libbz2-dev libreadline-dev libsqlite3-dev curl \ libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev Fedora/RHEL/CentOS sudo dnf groupinstall -y "Development Tools" sudo dnf install -y openssl-devel bzip2-devel libffi-devel readline-devel sqlite-devel Step 2: Download Python Visit python.org/downloads or use wget to get the latest version (replace 3.12.2 with the latest version):
pyenv automatically manages python and pip to point to your chosen version without touching system Python. Ubuntu / Debian (via deadsnakes PPA) sudo add-apt-repository ppa:deadsnakes/ppa sudo apt update sudo apt install python3.12 python3.12-venv python3.12-dev Usage: python3.12 Fedora sudo dnf install python3.12 Usage: python3.12 Arch Linux sudo pacman -S python Arch is rolling-release, so python is usually up-to-date. Method 4: Using Conda (Data Science Focus) If you use Anaconda or Miniconda: upgrade python linux
Remember: run sudo make install without altinstall , and never manually symlink /usr/bin/python3 to a custom build unless you know exactly what you're doing. Instead, install new Python versions alongside the system
cd /tmp wget https://www.python.org/ftp/python/3.12.2/Python-3.12.2.tgz tar -xzf Python-3.12.2.tgz cd Python-3.12.2 ./configure --enable-optimizations # Optimizes the binary (slower compile, faster Python) make -j $(nproc) # Use all CPU cores sudo make altinstall # Crucial: use altinstall, NOT install Why altinstall ? It prevents overriding the default python3 binary. It installs as python3.12 specifically. Step 4: Verify Installation python3.12 --version # Output: Python 3.12.2 To use this version, always call python3.12 or create a virtual environment. Method 2: Using pyenv (Best for Multiple Versions) pyenv lets you install and switch between multiple Python versions per-user, without affecting the system. Installation # Install pyenv dependencies (same as Method 1) # Then install pyenv curl https://pyenv.run | bash Add to your ~/.bashrc (or ~/.zshrc ): Ubuntu / Debian (via deadsnakes PPA) sudo add-apt-repository
