3.4 KiB
3.4 KiB
Python Installation - Fedora/RHEL/CentOS
Check Current Version
python3 --version
If you see Python 3.11+, you're good to go! ← Back to main skill
Installation Methods
Option 1: DNF Package Manager (Fedora)
Fedora usually includes recent Python versions:
sudo dnf install python3.11 python3.11-devel python3.11-pip -y
For Python 3.12/3.13 (if available):
sudo dnf install python3.13 python3.13-devel -y
Verify:
python3.13 --version
Option 2: RHEL/CentOS (Using EPEL)
Enable EPEL repository:
sudo dnf install epel-release -y
sudo dnf update -y
Install Python:
sudo dnf install python3.11 python3.11-devel python3.11-pip -y
Option 3: Build from Source (Advanced)
Install build dependencies:
sudo dnf groupinstall "Development Tools" -y
sudo dnf install gcc openssl-devel bzip2-devel libffi-devel zlib-devel -y
Download and build Python 3.13:
cd /tmp
wget https://www.python.org/ftp/python/3.13.0/Python-3.13.0.tgz
tar xzf Python-3.13.0.tgz
cd Python-3.13.0
./configure --enable-optimizations
make -j $(nproc)
sudo make altinstall # Don't use 'install', use 'altinstall' to avoid replacing system python
Verify:
python3.13 --version
Option 4: pyenv (Multiple Versions)
Install dependencies:
sudo dnf install gcc make patch zlib-devel bzip2 bzip2-devel \
readline-devel sqlite sqlite-devel openssl-devel tk-devel \
libffi-devel xz-devel -y
Install pyenv:
curl https://pyenv.run | bash
Add to ~/.bashrc:
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
Reload shell:
source ~/.bashrc
Install Python 3.13:
pyenv install 3.13.0
pyenv global 3.13.0
Verify:
python --version
Set Default Python Version
Check available versions:
ls /usr/bin/python*
Set alternative:
sudo alternatives --install /usr/bin/python3 python3 /usr/bin/python3.13 1
sudo alternatives --config python3
Install pip
Usually installed with python3:
python3 -m pip --version
If missing:
sudo dnf install python3-pip -y
Upgrade pip:
python3 -m pip install --user --upgrade pip
Troubleshooting
Issue: No package python3.13 available
Solutions:
- Check Fedora version:
cat /etc/fedora-release - Update system:
sudo dnf update -y - Try older version:
sudo dnf install python3.11 -y - Use pyenv (Option 4 above)
Issue: No module named 'venv'
Install venv (usually included):
sudo dnf install python3.13-venv -y
Issue: Development headers missing
Install development package:
sudo dnf install python3.13-devel -y
Issue: Permission denied
Don't use sudo with pip inside venv:
python3 -m venv venv
source venv/bin/activate
pip install <package> # No sudo needed
Verification Checklist
python3 --versionshows 3.11+python3 -m venv --helpworkspython3 -m pip --versionworks- Can create test venv:
python3 -m venv test_venv - Can activate:
source test_venv/bin/activate
Clean up test:
rm -rf test_venv