Python#
Overview: Python interpreter + UV#
To work effectively with Python, you need two components:
A Python interpreter: This is the core Python installation that runs your code.
UV: A modern package and project manager that handles installing libraries, managing dependencies, and creating isolated environments for your projects.
Why UV?#
UV solves several critical problems in Python development:
Fast and reliable package installation: UV is significantly faster than traditional tools like pip, especially when installing scientific packages.
Dependency management: It ensures that all packages work together correctly and creates a reproducible environment.
Project isolation: UV creates separate environments for each project, preventing conflicts between different projects’ requirements.
Modern workflow: UV combines the functionality of several older tools into one consistent interface.
While there are other package managers (we’ll also install Pixi for conda packages), UV is currently the best choice for managing Python packages from PyPI, which includes most of the scientific Python ecosystem.
Why not only UV then?#
UV can actually install and manage Python interpreters itself without needing a separate installation. However, relying exclusively on UV-managed Python has some limitations in certain use cases, particularly around system integration and compatibility with specific tools. Installing a standalone Python interpreter alongside UV provides greater flexibility and ensures compatibility across different workflows.
Install a Python interpreter#
On Windows, use the Python install manager to install Python. You have two options:
Microsoft Store (recommended): Install “Python” from the Microsoft Store
WinGet: Run
winget install 9NQ7512CXL7Tin PowerShell or Command Prompt
Once installed, you can install Python 3.13 (or any other version) using:
py install 3.13
The install manager uses the py command and will automatically update itself. You can
see all available Python versions with py list --online.
On macOS, the simplest way to install Python is by using brew:
brew install python
Alternatively, you can install Python by following the instructions on this official page (open this link in a new tab).
On Linux, a Python interpreter is typically already installed. However, for Python development, it is helpful to install some additional components:
sudo apt install python3-dev python3-venv
Why python3-venv?
Most Linux distributions package Python in modular components, and it is possible to
install Python without certain standard library packages. The venv package, which
creates virtual environments, is particularly important. In Debian/Ubuntu, this
functionality is provided by the python3-venv package. Virtual environments are
essential for isolating project dependencies, so installing this package is highly
recommended.
Tip
The packages python3-full can also be useful for certain workflows.
However, avoid installing python3-pip, as UV provides a better alternative for package
management.
Note
If you have installed WSL (Windows Subsystem for Linux), you should install Python on both the Windows side and the Ubuntu-WSL side. This allows you to work flexibly in both environments.
UV: Modern Python package and project manager#
UV is a fast, modern Python package and project manager developed in Rust by Astral. It has quickly become the recommended tool for managing Python packages and projects due to its speed and reliability.
What UV does for you#
Installs Python packages quickly and reliably (much faster than pip)
Manages project dependencies and ensures they’re compatible
Creates isolated environments automatically for each project
Handles Python versions so you can use different Python versions for different projects
Locks dependencies to ensure your project works the same way everywhere
Installation#
To install UV, open a terminal and run
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
curl -LsSf https://astral.sh/uv/install.sh | sh
Once the installation is complete, open a new terminal and verify that the uv command
is available:
uv --version
You should see the UV version number displayed.
Note
For more details about the installation, see the UV documentation.
Tip
You’ll use UV throughout the training for tasks like:
uv initto create new Python projectsuv add numpy pandasto install packagesuv run python script.pyto run scripts in isolated environmentsuv tool installto install command-line tools globally
Don’t worry if these commands seem unfamiliar. We’ll practice them during the training.