# Installing Python 3
Welcome soon-to-be Python user! Python is one of the easiest programming languages to learn and grow with. But there can be a bump right at the beginning: **making sure you have Python installed** with a sufficiently new version (3.12+ is recommended these days).
Good news! In 2025, installing Python has become incredibly simple thanks to **[uv](https://docs.astral.sh/uv/)** -- a blazing-fast Python package and project manager that also handles Python installation. With uv, you get **one tool** that works the same way on Windows, macOS, and Linux. [Hear all about it](https://talkpython.fm/episodes/show/476/unified-python-packaging-with-uv) on Talk Python.
## The Modern Approach: Install uv, Then Python
The process is just two steps:
1. **Install uv** (one command)
2. **Install Python with uv** (one command)
That's it! Jump to your operating system to get started:
* [**Windows**](#windows)
* [**macOS**](#macos)
* [**Linux**](#linux)
_________________________
## Windows
### Step 1. Install uv
Open [**PowerShell**](https://learn.microsoft.com/en-us/powershell/scripting/windows-powershell/starting-windows-powershell) or [**Windows Terminal**](https://apps.microsoft.com/detail/9n0dx20hk701) and run:
```powershell
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
```
After installation completes, **close and reopen your terminal** for the changes to take effect.
### Step 2. Install Python
Now install Python 3.14 with a single command:
```powershell
uv python install 3.14
```
You'll see output like:
```
Searching for Python 3.14
Installed Python 3.14.2 in 2.34s
+ cpython-3.14.2-windows-x86_64-none
```
### Step 3. Verify It Works
```powershell
uv run python -V
```
You should see:
```
Python 3.14.2
```
**You're all set!** 🎉
_________________________
## macOS
### Step 1. Install uv
Open the [**Terminal**](https://support.apple.com/guide/terminal/open-or-quit-terminal-apd5265185d-f365-44cb-8b09-71a064a42125/mac) and run:
```bash
curl -LsSf https://astral.sh/uv/install.sh | sh
```
After installation completes, **close and reopen your terminal** for the changes to take effect.
### Step 2. Install Python
Now install Python 3.14 with a single command:
```bash
uv python install 3.14
```
You'll see output like:
```
Searching for Python 3.14
Installed Python 3.14.2 in 1.89s
+ cpython-3.14.2-macos-aarch64-none
```
### Step 3. Verify It Works
```bash
python -V
# or
uv run python -V
```
You should see:
```
Python 3.14.2
```
**You're all set!** 🎉
_________________________
## Linux
### Step 1. Install uv
Open a [**terminal**](https://ubuntu.com/tutorials/command-line-for-beginners) and run:
```bash
curl -LsSf https://astral.sh/uv/install.sh | sh
```
After installation completes, **close and reopen your terminal** (or run `source ~/.bashrc` or `source ~/.zshrc`) for the changes to take effect.
### Step 2. Install Python
Now install Python 3.14 with a single command:
```bash
uv python install 3.14
```
You'll see output like:
```
Searching for Python 3.14
Installed Python 3.14.2 in 1.52s
+ cpython-3.14.2-linux-x86_64-gnu
```
### Step 3. Verify It Works
```bash
python -V
# or
uv run python -V
```
You should see:
```
Python 3.14.2
```
**You're all set!** 🎉
_________________________
## Working with Python Projects
Once you have uv installed, you'll typically work within **virtual environments** for your projects. uv makes this simple:
### Creating a Virtual Environment
Navigate to your project folder and run:
```bash
uv venv --python 3.14
```
This creates a `.venv` folder in your project. If Python 3.14 isn't already installed, **uv will automatically download and install it for you**.
### Activating the Virtual Environment
**Windows (PowerShell):**
```powershell
.venv\Scripts\Activate.ps1
```
**macOS / Linux:**
```bash
source .venv/bin/activate
```
Once activated, you can use `python` directly:
```bash
python -V
```
### Installing Packages
With uv, installing packages is lightning fast:
```bash
uv pip install requests
```
Or add dependencies to a project:
```bash
uv add requests
```
_________________________
## Managing Multiple Python Versions
Need multiple Python versions? uv handles that too:
```bash
uv python install 3.12 3.13 3.14
```
List installed versions:
```bash
uv python list
```
Create a virtual environment with a specific version:
```bash
uv venv --python 3.12
```
_________________________
## Why uv?
**[uv](https://docs.astral.sh/uv/)** is developed by [Astral](https://astral.sh/), the creators of [Ruff](https://docs.astral.sh/ruff/) (the popular Python linter). It's designed to be:
- ⚡️ **Blazing fast** -- 10-100x faster than pip
- 🐍 **Python version manager** -- installs and manages Python itself
- 📦 **Package manager** -- replaces pip, pip-tools, and virtualenv
- 🔒 **Lockfile support** -- reproducible environments
- 🖥️ **Cross-platform** -- works identically on Windows, macOS, and Linux
One tool. No complexity. Just Python.
-------------------------------
## Corrections and Improvements
If you find a problem or have a suggestion to make this page better, please visit the GitHub repository here. Note that this is not intended for tech support but rather for genuine, broadly applicable improvements to the instructions:
[**https://github.com/talkpython/installing-python**](https://github.com/talkpython/installing-python)