Skip to content
Happy Programming Guide
Start learning
Python

Choosing the Right Python Version for Windows 10

Which Python version to install on Windows 10, where to get it, why the Microsoft Store version causes problems, and how to run several versions side by side.

A close-up view of a colorful keyboard featuring round, brightly colored keycaps in shades of pink, red, and

For Windows 10, install the latest stable Python 3 release from python.org, choose the 64-bit installer, and tick “Add python.exe to PATH”. That covers most people. The complications come from Windows having several ways to install Python, some of which behave differently, and from libraries that lag a release or two behind.

Which version#

Default choice: the latest stable release. Each version gets five years of support, so a current one will be maintained well past any project you start today.

Pick one release older if: a library you depend on has not published wheels for the newest version yet. This is common in the first few months after a release, particularly for scientific packages with compiled components. The symptom is pip trying to build from source and failing for want of a C compiler.

Match an existing project if you are joining one. Check its pyproject.toml, runtime.txt or CI configuration.

Terminal
python --version
python -c "import sys; print(sys.version_info)"

32-bit or 64-bit#

64-bit, unless you have a specific reason. Windows 10 is 64-bit on essentially all hardware, and the 32-bit build is limited to about 4 GB of memory — a real constraint for data work. Some packages no longer publish 32-bit wheels at all.

Terminal
python -c "import platform; print(platform.architecture())"

Where to install from#

Source Good for Watch out for
python.org most people remember the PATH checkbox
Microsoft Store quick start, no admin rights sandboxed paths confuse some tools
Anaconda data science, non-Python dependencies large; its own package manager
winget scripted setup same as python.org underneath
POWERSHELL
winget install Python.Python.3.12

Installing from python.org#

Two things to do on the first screen of the installer:

  1. Tick Add python.exe to PATH. Without it, typing python in a terminal does nothing useful.
  2. Choose Customize installation and confirm pip and the py launcher are selected. Both are on by default.

Then verify in a new terminal — PATH changes only apply to windows opened afterwards:

POWERSHELL
python --version
python -m pip --version
py --list

The Microsoft Store version#

It installs without administrator rights, which is genuinely useful on a locked-down machine. Two things catch people out.

First, typing python with nothing installed opens the Store rather than reporting an error, which is confusing when you are trying to diagnose a PATH problem. Turn that off in Settings, under App execution aliases.

Second, it redirects file writes into a per-user virtualised folder. Most things work, but some tools that expect a conventional layout behave oddly. For serious development, python.org is the smoother path.

Running several versions#

The py launcher ships with the python.org installer and is the tidy way to manage this:

POWERSHELL
py --list           # everything installed
py                  # the newest
py -3.11            # a specific version
py -3.11 -m pip install requests
py -3.11 -m venv .venv

Each project gets its own virtual environment built from whichever version it needs:

POWERSHELL
py -3.12 -m venv .venv
.venv\Scripts\activate
python -m pip install -r requirements.txt

Once activated, plain python means that environment’s interpreter, so the version question stops mattering day to day.

The two errors Windows users hit#

“python is not recognized as an internal or external command”#

Python is not on PATH. Easiest fix: re-run the installer, choose Modify, and make sure the PATH option is ticked. Or add it by hand:

Output
C:\Users\YourName\AppData\Local\Programs\Python\Python312\
C:\Users\YourName\AppData\Local\Programs\Python\Python312\Scripts\

Both folders, and open a new terminal afterwards. Meanwhile, py works whether or not PATH is set.

“running scripts is disabled on this system”#

PowerShell’s execution policy is blocking the virtual environment activation script:

POWERSHELL
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

CurrentUser scope avoids changing the setting machine-wide. Restart PowerShell afterwards.

A sensible setup#

POWERSHELL
# 1. Install Python from python.org, with PATH ticked
python --version

# 2. Per project
mkdir myproject; cd myproject
py -3.12 -m venv .venv
.venv\Scripts\activate

# 3. Install and record
python -m pip install requests
python -m pip freeze > requirements.txt

Add VS Code with the Python extension, then use “Python: Select Interpreter” to point it at .venv. That combination avoids nearly every version-related problem on Windows.

WSL, if you want it#

POWERSHELL
wsl --install

Windows Subsystem for Linux gives you a real Linux environment on the same machine. Worth considering if your code will eventually run on a Linux server, or if you keep hitting packages that assume a Unix filesystem. Keep the project files inside the Linux filesystem — working across the Windows mount is noticeably slower.

Questions people ask#

Can I have several versions installed at once?

Yes, and it is normal. The py launcher picks between them, and virtual environments keep each project pinned to one.

Do I need Anaconda?

Only if you need packages with non-Python dependencies that pip struggles with — some geospatial, scientific and GPU libraries. For general Python, plain python.org plus venv is simpler and much smaller.

Should I uninstall an old version before installing a new one?

No. Leave it until you are sure nothing depends on it. Virtual environments make coexistence painless.

Does Windows 10 come with Python?

No. What looks like a Python command on a clean install is a stub that opens the Microsoft Store.

Where to go next#

Python virtual environments, explained without the jargonRead next

Keep reading

Keep going — pick your next guide

The fastest way to improve is to read one guide, then build the thing it describes. Start with the basics, or jump straight to a project.

Ask a question or share what worked

Your email address will not be published. Required fields are marked *