Python Setup on Windows (using scoop)
Complete Python Setup on Windows using scoop.
Introduction
Dealing with different versions of Python and tools might be trickier on Windows than Linux due to the way packages work on Windows.
This post describes an easy way similar to Linux or MacOS to manage Python and Python Versions using scoop.
Requirements
Install scoop.
1
2
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
Install Python
You can easily install the latest stable python release by running
1
scoop install main/python
Install Python Version
If you would like to install different python versions, is really easy to deal with it using scoop
Install the versions you required, for example from the following list
1
2
3
4
5
6
7
8
scoop install versions/python27
scoop install versions/python35
scoop install versions/python37
scoop install versions/python38
scoop install versions/python39
scoop install versions/python310
scoop install versions/python311
scoop install versions/python312
To have them available on your path then just use scoop for it
1
2
3
4
5
6
7
scoop reset python35
python --version
# Python 3.5
scoop reset python 39
python --version
# Python 3.9.13
Extra tools
Pipx - Package manager
pipx — Install and Run Python Applications in Isolated Environments. Similar to scoop, brew or apt is a package manager but for Python apps.
Install pipx with scoop by running
1
scoop install main/pipx
Then you can install with pipx applications that are written in python. For example, pre-commit
1
pipx insall pre-commit
Combining
pipxwithscoopis fine, but you might end up having issues with pipx underlying python version when updating it via scoop.It is recommended to hold
pipxand upgrade only when necessary:
1 scoop hold pipx
Poetry
Poetry is a tool that serves as an alternative to the standards build-tools and pip.
It helps you manage python versions, environments, dependencies in a fluent and easy way.
Install it by running
1
scoop install main/poetry
ruff
ruff is the fastest linter and code formatter. It is usually not necessary to be installed as should run as part of your dev workflow, for example using git hooks.
If you prefer to run it manually, you can also install it
1
scoop install main/ruff
Then you can run
1
2
ruff check # Lint all files in the current directory.
ruff format # Format all files in the current directory.
uv and uvx
Prefer
uvx(uv tool) overpipx
uv is an extremely fast Python package and project manager, written in Rust.
1
scoop install main/uv
Although it can be used for the same purpose of poetry, also it comes with uvx which serves the same purpose as pipx but faster.
For example, to run a hello world
1
uvx pycowsay 'hello world!'
VSCode editor
It is highly recommended to use vscode for your dev environment.
In order to have a good setup, you will need to install the following extensions:
