Python Docs
Virtual Environments
Virtual environments isolate project dependencies so each project can have its own package versions without conflicts. Always create one per project.
Using venv (Built-in)
venv comes with Python 3.3+, no extra install needed.
# Create virtual environment python -m venv .venv # Activate (Windows PowerShell) ..venvScriptsActivate.ps1 # Activate (cmd.exe) ..venvScriptsactivate.bat # Activate (Linux / macOS) source .venv/bin/activate # Install packages inside env pip install requests pandas # Save dependencies pip freeze > requirements.txt # Deactivate environment deactivate
Using virtualenv
virtualenv is an older but still widely used tool that works similarly to venv.
pip install virtualenv # Create environment virtualenv myenv # Activate (Linux / macOS) source myenv/bin/activate # Activate (Windows) myenv\Scripts\activate
Using pipenv
pipenv manages virtual environments + dependencies via Pipfile and Pipfile.lock.
pip install pipenv # Create env + install package pipenv install requests # Activate env shell pipenv shell # Install dev-only dependency pipenv install --dev pytest
Tips
- Use one virtual environment per project.
- Add
.venv/ormyenv/to.gitignore. - Share dependencies via
requirements.txtorPipfile, not the environment folder. - Recreate env on a new machine with:
python -m venv .venv source .venv/bin/activate # or Windows equivalent pip install -r requirements.txt