Installing Python and Related Tools on Linux
Modern Linux distributions often include Python 3 by default, but setting up a robust development environment requires additional components and best practices.
Update the Package Index
Before installing any software, synchronize the local package database with the remote repositories:
sudo apt update
Install Python 3 and Core Development Headers
Install the runtime along with essential development files needed for compiling C extensions (e.g., for packages like cryptography or numpy):
dpkg -l python3 || sudo apt install -y python3 python3-dev
Verify and Configure pip
Check whether pip3 is available and up too date:
pip3 --version || sudo apt install -y python3-pip
python3 -m pip install --upgrade pip
Set Up Isolated Environments
Use the built-in venv module to create reproducible, project-specific environments:
python3 -m venv ~/dev/myapp-env
Activate and Customize the Environment
Enable the isolated environment and install common utilities:
source ~/dev/myapp-env/bin/activate
pip install setuptools wheel
Install Application Dependencies
With the environment active, install required libraries—here, demonstrating installation of a asynchronous web framework:
pip install httpx fastapi uvicorn
Optional: Create a Reusable Setup Script
Save the following as setup_env.sh for consistent environment bootstrapping:
#!/bin/bash
ENV_NAME="${1:-project-env}"
python3 -m venv "./$ENV_NAME"
source "./$ENV_NAME/bin/activate"
pip install --upgrade pip setuptools wheel
echo "Environment '$ENV_NAME' ready. Activate with: source ./$ENV_NAME/bin/activate"
Make it executable and run:
chmod +x setup_env.sh
./setup_env.sh myproject