Skip to content

๐ŸŸข Windows: Install Tools

This page links to official installation instructions for required tools on Windows. Always follow the vendor-recommended installers.

These tools are essential for professional data analytics.

WHY? Professional analytics projects depend on local tools for running code, managing packages, checking quality, and working with GitHub repositories. Installing the required tools creates a consistent project environment across machines and operating systems. Correct tool installation reduces setup errors and makes later commands predictable.

Required Tools

1. Git

Download and install Git from the official site: https://git-scm.com/

Have Git and want to update? Try:
git update-git-for-windows
WHY Git? Git **tracks changes** in project files over time. It records what changed, when it changed, and who made the change. Git is used with GitHub, but they are different. - **Git is version control software** that runs on a machine. - **GitHub is a cloud platform** that stores Git projects online.

2. Visual Studio Code

Download and install Visual Studio Code from: https://code.visualstudio.com/

(Recommended) Enable the code command in PowerShell by following: https://code.visualstudio.com/docs/setup/windows

WHY? Visual Studio Code is a **code editor** used to open, inspect, edit, and run project files. It provides an integrated **terminal**, which allows project commands to be run from inside the same workspace. The `code` command makes it possible to open a project folder in VS Code directly from the terminal.

3. uv (Python environment and dependency manager)

Install uv using the official Windows method: https://docs.astral.sh/uv/getting-started/installation/

Note: Python is not installed at this step. Python will be installed per-project using uv, which also manages versions.

WHY? `uv` manages the Python version and project packages used by a project. Using `uv` helps each project install the correct Python version and packages from the project configuration in `pyproject.toml` and keeps project Python **separate** from any other Python being used on the machine. If you worked with older Python projects, you might have used `pip` to manage required packages and `venv` to manage the virtual environment kept in the local `.venv` folder. We moved to `uv` because: - it is fast - it uses the same commands on Windows, macOS, and Linux - it creates and updates the local `.venv` project environment - it can install and manage the Python version for the project - it reduces the number of separate Python setup tools needed

4. Node.js

Task 4.1. Follow the Node.js installation instructions for Windows

https://nodejs.org/en/download

WHY? Node.js provides `npm` and `npx`. Many helpful professional tools can be run with `npx`.

Task 4.2 Change the PowerShell execution policy

Press Win + X and select Terminal (Admin) or Windows PowerShell (Admin). Run:

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned

Type Y (Yes) and hit Enter to confirm the change.

WHY? By default, Windows 11 restricts running scripts (.ps1 files) for security reasons. Since npx on Windows executes via npx.ps1, you will get a "running scripts is disabled on this system" error unless you change this policy.

Refresh Your Terminal and Verify

Close all open terminal windows, command prompts, or IDEs (like VS Code). Environment paths will not update in terminals that are already open.

Open a brand new PowerShell terminal window and run:

git --version
code --version
uv --version
npx --version

Each command should display a version number. If any command fails, revisit the corresponding installer.

OPTIONAL/ADVANCED: Windows Subsystem for Linux (WSL) - ONLY AS DIRECTED This is only for advanced users who need Linux-only tools (e.g., Kafka or Spark). To install WSL, follow Microsoftโ€™s official instructions: Use WSL only when required; it is NOT normally needed for Python projects managed with `uv`.
OPTIONAL/ADVANCED: WHY WSL? WSL provides a Linux environment on Windows. Some data tools are easier to install and run in Linux than directly in Windows. WSL is especially useful when a project requires Linux-based services such as **Apache Kafka**, **Apache Spark**, or **Apache Flink**.