skillfed

virtualenvwrapper

virtualenvwrapper v6.1.1 149.2K downloads/30d#11,001 on PyPI162
Permissive license MIT Active released

What it is and what it does

virtualenvwrapper extends virtualenv by adding shell-based command wrappers and a centralized management system for Python virtual environments. Instead of manually navigating to different project directories and activating environments, you use simple commands like `mkvirtualenv` to create and `workon` to switch between environments. The package organizes all your virtual environments in one place and provides user-configurable hooks that run on creation, deletion, activation, and other operations—useful for automating setup tasks like installing project dependencies or running initialization scripts.

The package depends on virtualenv, virtualenv-clone, and stevedore (for plugin support). It is tested on Python 3.8 through 3.12 on macOS and Linux, and works with bash and zsh shells. The tool is designed to reduce friction when managing multiple projects with different dependency requirements, making it easier to avoid conflicts and switch contexts without manual environment management.

Use it for:

  • Quickly create isolated environments for different projects and switch between them using single commands instead of navigating directories.
  • Automate environment setup with hooks that run custom scripts when creating or activating environments.
  • Organize all virtual environments in a single directory for easier backup, cleanup, and monitoring.
  • Use tab completion to quickly list and select environments by name when switching projects.
  • Extend virtualenvwrapper with custom plugins via the stevedore plugin system for team-specific workflows.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Provides shell command wrappers and hooks to organize, create, switch between, and manage multiple Python virtual environments from a central location.

Yes, if you work with multiple Python projects and use bash or zsh. virtualenvwrapper significantly reduces the friction of managing separate virtual environments by centralizing them and providing convenient shell commands. It is actively maintained, has no known vulnerabilities, and carries a permissive MIT license. The main gotcha is that it requires shell integration (sourcing in your shell config) and works only with bash/zsh, so it is not suitable for Windows PowerShell or other shells.

Install

virtualenvwrapper on PyPI

pip

pip install virtualenvwrapper

uv

uv add virtualenvwrapper

poetry

poetry add virtualenvwrapper

Installing virtualenvwrapper

Before you install

Low friction installation as a pure Python wheel. Actively maintained with a recent commit on 2026-08-03 and production-stable status. Requires virtualenv 20+ as of the 5.x release.

License in practice

MIT license (permissive) allows use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects.

Quickstart

pip install virtualenvwrapper

# Source the wrapper in your shell (e.g., ~/.bashrc or ~/.zshrc)
source /path/to/virtualenvwrapper.sh

# Create and activate a virtual environment
mkvirtualenv myproject
workon myproject

Requires bash or zsh shell; virtualenvwrapper is a set of shell functions and must be sourced in your shell configuration file to be available.

Verify before relying

  • Whether the plugin system via stevedore enables third-party extensions and how to discover available plugins.
  • Specific tab-completion behavior across different shell versions and whether it requires additional setup.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.8)
Install friction low — pure-Python wheel
Runtime dependencies 3 — virtualenv, virtualenv-clone, stevedore
Maintenance actively maintained — 670 days since the last release
Last repo commit
First released
Downloads 149,153/month — #11,001 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: virtualenvwrapper-6.1.1-py3-none-any.whl

Keywords: virtualenv

Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9

Tags

virtual environment managementvirtualenv wrapper commandsswitch between python environmentsorganize virtual environmentsvirtualenv shell functionspython project isolationenvironment hooks and plugins
virtual-environmentsshell-integrationworkflow-automation

More Utilities packages