Files
gh-otoshek-claude-code-toolkit/skills/django-setup/platform-install/linux-ubuntu.md
2025-11-30 08:46:40 +08:00

3.5 KiB

Python Installation - Ubuntu/Debian

Check Current Version

python3 --version

If you see Python 3.11+, you're good to go! ← Back to main skill


Installation Methods

For Python 3.13 (latest):

sudo apt update
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:deadsnakes/ppa -y
sudo apt update
sudo apt install python3.13 python3.13-venv python3.13-dev -y

For Python 3.11:

sudo apt update
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:deadsnakes/ppa -y
sudo apt update
sudo apt install python3.11 python3.11-venv python3.11-dev -y

Verify installation:

python3.13 --version

Option 2: System Package Manager (Older Versions)

Ubuntu 22.04+ includes Python 3.10+ by default:

sudo apt update
sudo apt install python3 python3-venv python3-pip python3-dev -y

Check version:

python3 --version

Option 3: pyenv (Multiple Versions)

Install dependencies:

sudo apt update
sudo apt install -y make build-essential libssl-dev zlib1g-dev \
  libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
  libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev \
  libffi-dev liblzma-dev

Install pyenv:

curl https://pyenv.run | bash

Add to ~/.bashrc or ~/.zshrc:

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"

Reload shell:

source ~/.bashrc  # or source ~/.zshrc

Install Python 3.13:

pyenv install 3.13.0
pyenv global 3.13.0

Verify:

python --version

Set Default Python Version

If you installed Python 3.13 but python3 still points to old version:

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.13 1
sudo update-alternatives --config python3

Select the number for Python 3.13


Install pip

For Python 3.13:

sudo apt install python3.13-distutils -y
curl -sS https://bootstrap.pypa.io/get-pip.py | python3.13

Or use system package:

sudo apt install python3-pip -y

Verify:

python3 -m pip --version

Troubleshooting

Issue: E: Unable to locate package python3.13

Solution: Add deadsnakes PPA (see Option 1 above)

Issue: No module named 'venv'

Install venv module:

sudo apt install python3.13-venv -y

Issue: No module named 'distutils'

Install distutils:

sudo apt install python3.13-distutils -y

Issue: Build dependencies missing (for pyenv)

Install build essentials:

sudo apt install build-essential libssl-dev zlib1g-dev \
  libbz2-dev libreadline-dev libsqlite3-dev curl \
  libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev -y

Issue: Permission denied when installing packages

Don't use sudo with pip! Use virtual environments instead:

python3 -m venv venv
source venv/bin/activate
pip install <package>

Verification Checklist

  • python3 --version shows 3.11+
  • python3 -m venv --help shows venv usage
  • python3 -m pip --version works
  • Can create test venv: python3 -m venv test_venv
  • Can activate: source test_venv/bin/activate

Clean up test:

rm -rf test_venv

← Back to django-project-setup