sudo apt update sudo apt install build-essential zlib1g-dev libncurses5-dev \ libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev \ libsqlite3-dev wget libbz2-dev Fedora:
export PATH="$HOME/.pyenv/bin:$PATH" eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)" # optional, but useful Restart your shell. # List all installable versions pyenv install --list Install a new version (e.g., 3.12.2) pyenv install 3.12.2 Set it globally (for your user only) pyenv global 3.12.2 Or set per project directory cd my_project pyenv local 3.12.2 Verify python --version how to update python on linux
In this guide, you'll learn safe, reliable methods to update Python on any major Linux distribution. Do not replace your system's default Python (usually /usr/bin/python3 ). Linux distributions rely on a specific Python version for tools like apt , yum , gnome-terminal , and update managers. Removing or overwriting it can break your OS. sudo apt update sudo apt install build-essential zlib1g-dev
Remember: there's no single "latest Python" command across all distros. Choose the approach that fits your workflow, and always verify your installation before running critical scripts. Updated April 2026 – Works with Python 3.12+ and all major Linux distributions. Linux distributions rely on a specific Python version
python3.12 --version pyenv lets you install and switch between multiple Python versions per project without touching system Python. Install pyenv # Install dependencies (same as source compilation) # Then run pyenv installer curl https://pyenv.run | bash Add to your ~/.bashrc (or ~/.zshrc ):
# Your new Python version python3.12 --version python3 --version Updating pip and Virtual Environments After installing a new Python, update its pip: