python3.12 -m venv myprojectenv source myprojectenv/bin/activate | Issue | Solution | |--------|----------| | ModuleNotFoundError: No module named 'distutils' | Install python3.12-distutils or python3-distutils from your package manager | | pip not found after source install | Run python3.12 -m ensurepip or python3.12 -m pip install --upgrade pip | | System Python broken | Boot from live USB, chroot, and reinstall the original Python version via package manager | | ssl module missing after source compile | Install libssl-dev / openssl-devel and recompile Python | Summary Table: Best Update Method by Use Case | Use Case | Recommended Method | |----------|--------------------| | Keep system secure, don't need latest features | sudo apt upgrade python3 (package manager) | | Need a specific newer version not in repos | deadsnakes PPA (Ubuntu) / EPEL (RHEL) | | Need absolute latest patch release | Compile from source with altinstall | | Development with multiple Python versions | pyenv | | Data science / ML projects | conda | Final advice: Never replace your system’s default Python 3. Instead, install additional versions alongside it and use virtual environments or version managers to keep your projects isolated.
sudo dnf upgrade python3 – default repos are outdated. Use EPEL or source compilation. python update linux
which python3 ls -l /usr/bin/python* Most stable method. It updates Python only to the latest version provided by your distribution’s official repositories – not the absolute latest upstream release. Debian / Ubuntu / Linux Mint sudo apt update sudo apt upgrade python3 To see available Python versions: python3
python3.12 --version Version managers let you install multiple Python versions per user without sudo . pyenv (Most popular) # Install pyenv curl https://pyenv.run | bash Add to ~/.bashrc echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.bashrc echo 'eval "$(pyenv init -)"' >> ~/.bashrc source ~/.bashrc Install a new Python version pyenv install 3.12.2 pyenv global 3.12.2 # set as default for your user conda / miniconda Great for data science and isolated environments. Use EPEL or source compilation