The easiest way to install Python 3.14 (or 3.13, 3.12, 3.11, 3.10, 3.10, …)
I originally wrote this post in 2022 for Python 3.11.
From 2022 through 2024, I remained of the belief that installing from python.org was the best option for most people.
However, 2025 changed that for me, with uv
and uv python
supporting the installation of Python versions. It’s a really pleasant and clean way to keep Python versions up to date and install new versions.
So I’m now modifying this post into a “choose your own adventure” kinda thing.
- If you only need one version of Python or are new to Python and not sure what you need, follow Installing Python from python.org.
- If you are want or need multiple versions of Python on your computer (for instance if you need to test stuff against multiple Python versions), skip to Installing Python with uv.
- If you’re pretty sure you only need one version, but you also use Python a lot, you’ll probably eventually switch to the
uv
option anyway, so may as well try it out and skip to Installing Python withuv
.
Note: You can change your mind, and you can do both. I currently have 3 versions installed from python.org and “so many” versions installed with uv
Installing Python from python.org
This is what I used up intil 2025, and it’s still a solid choice.
The easiest and most obvious way to install the latest version of Python on either Mac or Windows is:
- Go to python.org
- Hover over the “Downloads” link in the navigation.
- This will detect if you are on Mac or Windows and present you with a button called “Python 3.14.0” (or whatever the latest version is).
- Click that button. This downloads an installer.
- Run the installer.
That’s it. Done.
How long does that take?
I just did this on my Mac laptop and timed it.
It took a whopping 54 seconds to:
- Do everything above
- Open a new terminal window
- Run
python3 --version
to verify that the new version was installed.
Yes, I re-timed it for 3.14. It was really 53.52 seconds.
What if I want multiple versions?
Well, sure. I have multiple versions.
The above instructions put Python here: /Library/Frameworks/Python.framework/Versions/3.14/bin/
In that directory, there’s python3
, which is really a link to python3.14
.
I also have versions of Python 3.12 and 3.13 installed, and they respectfully have python3.12
and python3.13
executables. And those are still in my PATH, so I can run them whenever I want.
This also allows me to set up virtual environments using the older versions, if needed. Also, tox, which I use for testing regularly, can see these other versions just fine.
Note again: I also have more versions installed with uv, and they sit on the same machine just fine.
How did Python 3.14 become the default?
The installer added this snippet to my .zprofile
:
# Setting PATH for Python 3.14
# The original version is saved in .zprofile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.14/bin:${PATH}"
export PATH
What if I want to update the version?
Good thinking. My current Python 3.13 is at 3.13.0:
$ python3.13 --version
Python 3.13.7
Let’s check for updates:
- Head to python.org/downloads, or just python.org and click on “Downloads” instead of hovering.
- Checking the recent releases, I see that there was a 3.13.8 released on Oct 7, 2025. Great.
- Click “download”. Scroll to the bottom.
- Click the download link for the “macOS blah blah” installer.
- Run that.
Re-run my check from above:
$ python3.13 --version
Python 3.13.8
Awesome. That took another minute.
Did updated 3.13 change the default?
Apparently it did.
$ python3 --version
Python 3.13.8
Ack. No worries. I just edited the .zprofile
and moved the 3.14 stuff to below the 3.13 stuff. Actually, the 3.13.8 installer added that snipped to the end and there was already a 3.13 PATH entry before 3.14. So I just deleted the redundant one at the end.
What about other ways to install Python?
There are other ways, and I’ve tried many of them.
And in 2022, I didn’t like any. But now, I super love uv
.
So if you want to try that also, jump to Installing Python with uv.
This seems like a Mac tutorial. You said “or Windows”
Yes. The details of the install path and such are Mac specific in this post.
However, I also run several Windows machines and install there also with the python.org installer.
Changes to the process for Windows:
- When running the installer, hit “Advanced Features” and check “Add Python to environment variables”.
- The executable is
python
and notpython3
.- I get around this oddity by just setting up an alias in my .zshrc
- Path is more like
C:/Users/okken/AppData/Local/Programs/Python/Python313/python
. - Since the different executables aren’t named, I utilize the
py
to launch different versions if needed manually:py -3.13
py -3.12
- etc.
So there are details and behind the scenes differences.
However, the installer just works.
I just tested the install on a Windows box and it went really smoothly.
But do rememeber to hit “Advanced Features” and check “Add Python to environment variables”.
Installing Python with uv
First you need the standalone installer of uv
.
Then we’ll use uv python
to install Python.
Installing uv
itself
Head to Installing uv on the Astral documentation site. Yes, this is a third party thing, but really is what most of the hardcore Python devs are using.
You’ll want the Standalone installer instructions.
There are lots of other methods, like pipx
or brew
listed there, but I prefer the curl
instructions for Mac and the powershell
instructions for Windows.
When installing uv
with the standalone installer, you can run uv self update
, which is needed for the next step.
Update uv
with uv self update
Run uv self update
to have uv
install the latest and greatest version.
This is necessary also to get the updated list of supported versions of Python.
Install the latest Python 3.14
Run uv python install 3.14
.
uv
will add the new version as python3.14
to your PATH.
Let’s check:
$ python3.14 --version
Python 3.14.0
That’s it. Done.
How long does that take?
I just did this on my Mac laptop and timed it.
It took 19 seconds to:
uv self update
uv python install 3.14
python 3.14.0 --version
What versions are installed?
You can use uv python list --installed-only
to see all the versions you have available.
The non-flag command, uv python list
lists both installed and available to install versions for your platform.
What if I want multiple versions?
Well, uv
just does that by default.
You can specify a specific version with something like:
uv python install 3.13.8
for a specific version- or
uv python install 3.14t
to also grab the latest free-threaded 3.14
How do I use these installed versions
You can use the python3.14
from your PATH.
However, now that 3.14 is installed we can use it in virtual environments.
I started always using virtual environments way before I started using uv
, and uv
just makes it that much easier to stick with this.
So, create a virtual environment (probably in a project dirctory) like:
$ mkdir bob
$ cd bob
$ uv venv .venv --prompt .
Using CPython 3.14.0
Creating virtual environment at: .venv
Activate with: source .venv/bin/activate
$ source .venv/bin/activate
(bob) $ python --version
Python 3.14.0
What if I want to update the version?
Good thinking. My current Python 3.14 is at 3.14.0. When a new version comes out, or if I just want to check, I can run:
$ uv python upgrade 3.14
Python 3.14 is already on the latest supported patch release
But if there was a new one available, uv
would update it.
What if I want to delete a version?
uv
comes with uv python uninstall <version>
.
uv python uninstall 3.8.16
will uninstall just one versionuv python uninstall 3.8
will uninstall all versions of 3.8 you have