00 — Software & Tools Checklist
The software you need on your own laptop before the course starts. Please be ready with all of these before the first lab session. Each section links to the tutorial that walks through it in full; the full setup walkthrough at the end ties everything into one sequence.
Where a section says (Any One), install just one option — the one marked as the course default unless you have a reason to prefer another. Setting up the Raspberry Pi 5 itself is separate — see Tutorial 01 — Raspberry Pi 5 Setup.
Checklist
- Python distribution
- IDE
- Git → Git Bash
- Docker
- Postman (Optional)
- Warp (Optional)
- AWS CLI (Optional)
Python Distributions (Any One)
- Anaconda — Conda plus a large bundled package set; the least-friction choice for this course — download (or Miniconda for a minimal install)
- Python — the plain python.org build; only if you prefer
venv+pip— download - uv — can also install and manage Python itself (
uv python install 3.12) and pair withuv venv— docs
Windows environment-variable PATH: let the installer add Conda to PATH, or add these entries yourself (use anaconda3 for Anaconda, miniconda3 for Miniconda):
%USERPROFILE%\anaconda3
%USERPROFILE%\anaconda3\Library\mingw-w64\bin
%USERPROFILE%\anaconda3\Library\usr\bin
%USERPROFILE%\anaconda3\Library\bin
%USERPROFILE%\anaconda3\ScriptsFull walkthrough, including creating the course cv environment: Tutorial 04 — Python and Conda.
Package Managers (Any One)
- conda (rarely) — creates the environment and installs heavy binary packages (OpenCV, PyTorch).
- pip (the course default) — used inside the activated
cvenvironment for everything inrequirements.txt. - uv (Optional) — a much faster drop-in for
pipandvenv;uv pip install -r requirements.txt— refer to the uv docs
Local IDE or Text Editor (Any One)
- VS Code (the course default) — download; then add the Python and Jupyter extensions
- Cursor (paid) — cursor.com
- Windsurf (paid) — windsurf.com
- Trae — trae.ai
- PyCharm — Community or Professional — download
Configuring VS Code to use the cv environment, notebooks, and the debugger: Tutorial 05 — Visual Studio Code.
Browser-based Online IDE (Optional)
- Lightning.ai — lightning.ai
- Replit — replit.com
- Firebase Studio — firebase.studio
Working with virtual environment
Every project gets its own isolated environment. Use whichever tool matches your Python distribution — conda is the course default.
# creates the virtual env next to the conda install
conda create -n cv python=3.12 -y
conda activate cv
conda deactivate
conda remove -n cv --all
# OR
# creates the virtual env in the current folder
conda create -p ./cv python=3.12 -y
conda activate ./cv
conda deactivate
# delete the ./cv folder to remove itvenv
The standard-library option — no Conda needed.
python -m venv myenv
myenv\Scripts\activate # Windows (cmd)
.\myenv\Scripts\Activate.ps1 # Windows (PowerShell)
source myenv/bin/activate # macOS / Linux
deactivate
rmdir /s /q myenv # delete it (Windows); rm -rf myenv elsewhereuv
The fastest option; cross-platform.
pip install uv # or: pipx install uv
uv venv --python 3.12 myenv
source myenv/bin/activate # myenv\Scripts\activate on Windows
uv pip install -r requirements.txt
uv add -r requirements.txt # add to a uv-managed project
uv sync # reconcile the env with the lockfileIf the uv command is not found after install, add its bin folder to PATH for the current shell — first line for Windows cmd, second for PowerShell:
set PATH=%USERPROFILE%\.local\bin;%PATH%
$env:Path = "$env:USERPROFILE\.local\bin;$env:Path"Version Control System
- Git (always used in the course) — download. On Windows the installer also provides Git Bash, the terminal used in the tutorials.
- GitHub account — sign up with your student email, then clone the course repository.
- GitHub Desktop (Optional) — a GUI for Git — download.
The Git workflow used throughout the course: Tutorial 02 — Git and GitHub.
Commands used in Class
# creating a conda environment
conda create -n cv python=3.12 -y
# activate the conda environment
conda activate cv
# creating a conda env in a custom path
# current directory: conda create -p ./cv python=3.12
# directory of choice: conda create -p C:/envs/cv python=3.12
# activating a conda environment created with -p
conda activate C:/envs/cv
# creating requirements.txt
pip freeze
pip freeze > requirements.txt
pip list
pip list --format=freeze > req.txt
# installing requirements from a file
pip install -r requirements.txtExtra Tools
Markdown
- The format for READMEs, notebook prose, and lab reports — Markdown basics
Docker
- Docker Desktop — download · Docker cheat sheet (PDF) · Docker basics
System check for Windows. Settings → System → About → System type: x64 / AMD64 means an Intel or AMD chip (the common case); ARM64 means an ARM chip, so download the ARM build of each installer. The Raspberry Pi 5 is ARM64 (aarch64).
WSL setup in Windows. Docker Desktop runs on WSL 2. From an admin PowerShell, then reboot:
wsl --install
wsl --status
wsl --list --verboseCloud CLI
Optional, only for the deployment labs that push a container or pull data from a cloud bucket.
API Tool
- Postman (Optional) — send and inspect HTTP requests when testing an endpoint such as the ESP32-CAM stream or a model-serving API — postman.com
Warp Terminal
- Warp (Optional) — a modern terminal with history, blocks, and built-in AI — warp.dev
Full setup walkthrough
Run these once, in order, on the machine you will use for the course. It assumes Windows with Git Bash; the commands are the same on macOS/Linux unless noted.
Step 1 — Install a Conda distribution
Install Miniconda (or Anaconda) from anaconda.com for your operating system. On Windows, tick the option to register Conda, or add the PATH entries above yourself. Confirm it works:
conda --version
python --versionStep 2 — Create the course environment
Create an isolated environment for the course and install its requirements. Use the exact Python version below so library versions line up with the tutorials.
conda create -n cv python=3.12 -y
conda activate cv
conda install -y ipywidgets notebook # Jupyter support
pip install -r requirements.txt # from the cloned course repoClone the repo first if you have not — see Tutorial 02 — Git and GitHub. Full environment details: Tutorial 04 — Python and Conda.
Step 3 — (Optional) GPU / CUDA check
Everything in this course runs on CPU. An NVIDIA GPU with ≥ 4 GB of dedicated memory makes the deep-learning labs several times faster; other GPUs are not supported by the CUDA build.
- Check for a GPU: Task Manager → Performance, or run
nvidia-smiin a terminal. - If present, install a CUDA-enabled PyTorch build into the active
cvenvironment. Use the selector on pytorch.org to get the URL for your CUDA version:
# example: CUDA 12.4 wheels — check pytorch.org for the current tag
pip install --upgrade torch torchvision --index-url https://download.pytorch.org/whl/cu124Verify the GPU is visible to PyTorch:
python -c "import torch; print(torch.cuda.is_available(), torch.cuda.device_count())"True 1 means the environment is GPU-ready. False 0 is fine too — you will just run on CPU.
Step 4 — Open the project in your IDE
VS Code (course default):
- File → Open Folder and select the cloned course repo.
- Ctrl+Shift+P → Python: Select Interpreter and choose the
cvenvironment. - Open a notebook and pick the
cvkernel in the top-right.
PyCharm (alternative):
- File → Open and select the project folder.
- Settings → Project → Python Interpreter → Add Interpreter → Conda Environment → Use existing environment, and choose
cv.
Step 5 — Handy editor shortcuts
- Ctrl + Space — code completion (list available names and functions).
- Ctrl + / — comment or uncomment the selected lines.
- Go to definition — F12 in VS Code, Ctrl + B in PyCharm.
- Parameter hints — Ctrl + Shift + Space in VS Code, Ctrl + P in PyCharm (cursor inside the parentheses).
Verify your setup
Open a terminal (Git Bash on Windows), activate the cv environment, and run:
conda activate cv
python --version # 3.12.x
conda --version
git --version
code --version # VS Code CLI
docker --version # optional
python -c "import numpy, cv2, torch; print(numpy.__version__, cv2.__version__, torch.__version__)"If every command prints a version and the last line reports NumPy, OpenCV, and PyTorch without error, you are ready.
Next steps
Continue with the tutorials in order: 01 — Raspberry Pi 5 Setup, then 02 — Git and GitHub, then 04 — Python and Conda.