Can winget install an older version of Python?

Currently, the latest Python 3 offered through winget is 3.10.150.0:

Name Id Version Match Source
-----------------------------------------------------------------------------------------------------------------------------------
Python 3 Python.Python.3 3.10.150.0 Command: python winget

but I'd like to install 3.9 and keep using 3.9. Is it possible to do that with winget?

4 Answers

winget install -e --id Python.Python -v 3.9.0
2

First, you can see all the versions available with the following command:

PS C:\dev> winget search Python.Python
Name Id Version Source
---------------------------------------------
Python 3 Python.Python.3.9 3.9.7 winget
Python 3 Python.Python.3.8 3.8.10 winget
Python 3 Python.Python.3.7 3.7.9 winget
Python 3 Python.Python.3.6 3.6.8 winget
Python 3 Python.Python.3.5 3.5.4 winget
Python 3 Python.Python.3.4 3.4.4 winget
Python 3 Python.Python.3.3 3.3.5 winget
Python 3 Python.Python.3.2 3.2.5 winget
Python 3 Python.Python.3.10 3.10.6 winget
Python 3 Python.Python.3.1 3.1.4 winget
Python 3 Python.Python.3.0 3.0.1 winget
Python 2 Python.Python.2 2.7.18150 winget

In your case, the simplest way is to choose the Id you want, Python.Python.3.9, which would also allow the package manager to update it when patches come out.

PS C:\dev> winget install Python.Python.3.9
Found Python 3 [Python.Python.3.9] Version 3.9.7
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Downloading ██████████████████████████████ 27.5 MB / 27.5 MB
Successfully verified installer hash
Starting package install...
Successfully installed

This will do an automatic install with default options. However, the downside of this method is that each Python version will be installed under a Python directory tree, like $LOCALAPPDATA\Programs\Python\Python39, and it won't make any changes to your Path.

If you need Python to be available to all users and automatically added to the system Path, you're better off fine-tuning the installation using the interactive option -i, like so.

PS C:\dev> winget install -i Python.Python.3.9

in Windows 11 i used the command in this site:

to get the version 3.7.7:

winget install -e --id Python.Python.3 -v 3.7.7150.0

Yes, winget can install an older version of Python. The most precise way to see the available versions is:

winget search --id Python.Python

This currently gives:

Name Id Version Source
------------------------------------------------
Python 2 Python.Python.2 2.7.18150 winget
Python 3 Python.Python.3.0 3.0.1 winget
Python 3 Python.Python.3.1 3.1.4 winget
Python 3 Python.Python.3.2 3.2.5 winget
Python 3 Python.Python.3.3 3.3.5 winget
Python 3 Python.Python.3.4 3.4.4 winget
Python 3 Python.Python.3.5 3.5.4 winget
Python 3 Python.Python.3.6 3.6.8 winget
Python 3 Python.Python.3.7 3.7.9 winget
Python 3 Python.Python.3.8 3.8.10 winget
Python 3 Python.Python.3.9 3.9.13 winget
Python 3.10 Python.Python.3.10 3.10.11 winget
Python 3.11 Python.Python.3.11 3.11.4 winget
Python 3.12 Python.Python.3.12 3.12.0b4 winget

So you can for example do winget install -e --id Python.Python.3.9.

This and more information about installing Python with winget can be found on .

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

You Might Also Like