Skip to content
Forge Learn/Modules & Files
Browsing as a guest. Sign in to save your progress and earn XP as you complete chapters.

Virtual Environments & pip, Briefly

4 min read

You'll learn to

  • -Explain what a virtual environment is and why it isolates a project's dependencies
  • -Use `pip install` to add a third-party package to a project
  • -Know that none of this is needed inside the Forge Algorithm Lab sandbox itself

This chapter is intentionally short. It is a practical aside about the Python ecosystem outside of ScaleDojo, not a deep topic. The Forge Algorithm Lab's browser-based sandbox already has everything you need pre-installed and does not require (or allow) installing packages, so nothing here is required for lab levels. It matters for being a competent Python developer everywhere else.

The Problem: Every Project Wants Different Versions

If you work on two different Python projects on the same machine, they might need different versions of the same third-party library. One needs an old version, the other needs the newest. Installing packages globally, system-wide, means you cannot satisfy both at once. A virtual environment (a "venv") solves this by giving each project its own private, isolated set of installed packages, completely separate from every other project on the machine.

Creating and Using a Venv

Typical venv commands (run in a terminal, not in Python itself)

Once a venv is active, `pip install some-package` installs it only into that isolated environment. Your other projects, and your system-wide Python, are unaffected. Deactivating (`deactivate`) returns you to your normal system Python.

A project's dependencies are usually recorded in a `requirements.txt` file, one package per line, for example `requests==2.31.0`, which lets anyone recreate the same environment with `pip install -r requirements.txt`. ScaleDojo's own backend uses exactly this file.

  • -A venv isolates a project's installed packages from every other project and from the system Python.
  • -`pip install <package>` adds a third-party package; `pip freeze` lists what is currently installed.
  • -None of this applies inside the Forge Algorithm Lab itself. Its sandbox is pre-configured and does not install or need packages, but it is essential knowledge for writing Python anywhere else.

Interview Signal is part of Pro

See a real weak answer next to a real strong one for this exact topic.

Quiz is part of Pro

Test what you just read with a short quiz, and bank the XP.