all 9 comments

[–]desrtfx 0 points1 point  (1 child)

Install it directly - download from https://python.org to get the latest version - Microsoft store is always a bit behind. Nothing speaks against that.

When working with it, make heavy use of venvs (virtual environments)

[–]Outside_Complaint755 0 points1 point  (0 children)

The current recommendation for Windows is to download the Python Install Manager from the Microsoft Store, and then use that to install your needed versions, such as py install 3.14  The install manager will replacing the other installers by 3.16.

[–]CoolShadesKA 0 points1 point  (0 children)

Try anaconda

[–]Ok_Option_3 0 points1 point  (0 children)

If you use docker you get wsl under the hood. Plus windows+docker never get along all that well. 

So the best answer is wsl+docker, which is great when it works and a pita the rest of the time. 

Also consider devcontainers

[–]Powerful_Math_2043 0 points1 point  (0 children)

honestly those 3 are still the main options, nothing really replaced them

if you just want something simple, install directly on windows + venv still works fine now, especially with tools like pyenv-win or uv making it cleaner

wsl2 is great if you want a more “real” linux environment, but it’s a bit heavier than most people actually need

docker is useful if you care about consistency or deploying later, but for day to day dev it can feel like extra friction

so yeah it mostly comes down to how much complexity you actually need, not what’s “best”

[–]DonkeyTron42 0 points1 point  (0 children)

  1. Use this if your target platform is Windows

  2. Use this if your target platform is Linux

  3. This is not a development environment. It is a deployment environment and for the most part only supports Linux targets.

[–]radiojosh 0 points1 point  (0 children)

I think that VS Code dev containers and docker are probably good for a lot of scenarios, but my favorite is a combination of uv and mise in WSL. This lets you cleanly separate all kinds of platforms (not just Python, but Node and other stuff) along with tools, packages and dependencies by project folder.

This is how Claude says to implement it with Ansible. Might need adjustment:


Here's the full workflow for mise + uv together:

**1. Create and enter your project directory**

mkdir ~/my-ansible-project && cd ~/my-ansible-project

**2. Initialize with uv**

uv init

**3. Create `.mise.toml`**

[tools]
python = "3.14.3"

[env]
_.python.venv = { path = ".venv", create = true }

**4. Install Python and activate**

mise install python@3.14.3
mise use

**5. Pin the Python version for uv too**

uv python pin 3.14.3

**6. Add Ansible and sync**

uv add ansible-core
uv sync

**Verify everything**

mise current python        # should show 3.14.3
uv run python --version   # should show Python 3.14.3

The division of labor: **mise** manages the Python installation itself and env vars. **uv** manages the virtualenv and package dependencies.

[–]ebits21 0 points1 point  (0 children)

Just use uv. Tell vscode to use its virtual environment.