Saturday, October 24, 2026 4,350 lists 78,096 records on file
List your app or device

  1. Home
  2. Python Package Managers
  3. virtualenv

virtualenv

What it is

virtualenv is a free command-line tool for creating isolated Python environments on Linux, macOS, and Windows. Each environment receives its own Python, pip, and related tools, keeping installed packages separate from system Python. It supports CPython 3.9–3.15 and PyPy 3.9–3.11; GraalPy 24.1 and later works on Linux and macOS, while RustPython support is experimental. virtualenv can discover Python versions managed by pyenv, mise, or asdf and resolve their shims to the real interpreter. Installation options include uv, pipx, pip, and a self-contained zipapp, with guidance to place the command-line tool in an isolated environment. Cached install images make later environment creation take less than one second according to its comparison with venv. Tox, poetry, and pipx use its programmatic API, while entry-point plugins can extend discovery, creation, seeding, and activation. Releases publish provenance attestations and CycloneDX and SPDX SBOMs. The project is maintained by the Python Packaging Authority and uses the MIT License.

For and against

For

  • Free open-source command-line tool
  • Keeps project packages separate from system Python
  • Supports CPython and PyPy versions
  • Finds pyenv, mise, and asdf interpreters
  • Provides plugin extension points

Against

  • RustPython support is experimental
  • Unlisted operating systems are not explicitly supported
  • Release verification does not prove source safety
  • No free trial is provided

The verdict

virtualenv provides isolated Python environments with broad interpreter discovery and integration options. Its documented platform and interpreter support should guide compatibility decisions.

Who it suits

virtualenv suits Python developers who need separate environments for projects, interpreters, and dependencies. It fits users on Linux, macOS, or Windows who work with supported Python implementations.

Plans and prices

virtualenv

Free

Open-source command-line tool · creates isolated Python environments

Every plan, in full

On the record

Environment setup
It creates an environment with its own Python, pip, and other tools, and packages installed into it remain isolated from system Python.virtualenv.pypa.io · read 9 Oct 2026
Extensibility
Entry-point plugins can add interpreter discovery, environment creation, seeding, and activation behavior.virtualenv.pypa.io · read 9 Oct 2026
Installation options
The project documents installation through uv, pipx, pip, or a self-contained zipapp; it recommends installing the command-line tool in an isolated environment.virtualenv.pypa.io · read 9 Oct 2026
Integrations
The documentation names tox, poetry, and pipx as tools that use virtualenv’s programmatic API.virtualenv.pypa.io · read 9 Oct 2026
License
virtualenv is distributed under the MIT License.virtualenv.pypa.io · read 9 Oct 2026
Maker
The Python Packaging Authority is a working group that maintains core software projects used in Python packaging.pypa.io · read 9 Oct 2026
Operating systems
The documented tested platforms include Linux, macOS, and Windows; unlisted platforms may work but are not explicitly supported.virtualenv.pypa.io · read 9 Oct 2026
Project history
virtualenv was introduced by Ian Bicking in 2007, and PyPA took over its maintenance in 2011.pypa.io · read 9 Oct 2026
Purpose
virtualenv is a command-line tool for creating isolated Python environments.virtualenv.pypa.io · read 9 Oct 2026
Python discovery
When selecting a Python version, virtualenv can discover versions managed by pyenv, mise, or asdf and resolve their shims to the real binary.virtualenv.pypa.io · read 9 Oct 2026
Python support
It supports CPython 3.9–3.15 and PyPy 3.9–3.11; GraalPy 24.1 and later is supported on Linux and macOS, and RustPython support is experimental.virtualenv.pypa.io · read 9 Oct 2026
Release security
Releases publish provenance attestations and CycloneDX SBOMs, with SPDX SBOMs also available for the wheel; the documentation explains how to verify release files.virtualenv.pypa.io · read 9 Oct 2026
Release verification limit
A successful release verification ties a file to the release workflow but does not prove that its source is free of bugs or malicious code.virtualenv.pypa.io · read 9 Oct 2026
Speed
It caches pre-built install images, so subsequent environment creation takes less than one second, according to its comparison with venv.virtualenv.pypa.io · read 9 Oct 2026

Alternatives to virtualenv

Every alternative, ranked