virtualenv
virtualenv is a free command-line tool for creating isolated Python environments on Linux, macOS, and Windows.
What virtualenv is
virtualenv is a free command-line tool for creating isolated Python environments on Linux, macOS, and Windows. Each environment has its own Python, pip, and other tools, keeping packages installed there separate from system Python. It supports CPython 3.9–3.15 and PyPy 3.9–3.11; GraalPy 24.1 and later is supported on Linux and macOS, while RustPython support is experimental. When selecting a Python version, virtualenv can find versions managed by pyenv, mise, or asdf and resolve their shims to the actual interpreter. Installation options include uv, pipx, pip, and a self-contained zipapp, with the project recommending that the command-line tool itself be installed in an isolated environment. The tool caches pre-built install images; its comparison with venv says later environment creation takes less than one second. Its programmatic API is used by tox, poetry, and pipx, and entry-point plugins can extend interpreter discovery, environment creation, seeding, and activation. The Python Packaging Authority maintains the project, which is distributed under the MIT License. Releases publish provenance attestations and software bills of materials, and the documentation explains file verification; successful verification does not establish that source code is bug-free or free of malicious code.
Good
- Keeps environment packages separate from system Python
- Supports Linux, macOS, and Windows
- Finds Python versions managed by pyenv, mise, or asdf
- Offers uv, pipx, pip, and zipapp installation options
- MIT License
Watch out
- RustPython support is experimental
- GraalPy support is limited to Linux and macOS
- Release verification does not prove source code is safe
Who it suits
virtualenv suits Python developers who want separate environments for projects across Linux, macOS, or Windows. Its interpreter discovery and plugin support may also fit workflows that use tools such as tox, poetry, or pipx.
Verdict
virtualenv provides isolated Python environments with broad interpreter discovery and installation options. Its documented platform and interpreter limits are worth checking if your setup uses GraalPy, RustPython, or an unlisted operating system.
Plans and prices
From virtualenv's own pricing page, checked 9 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| virtualenv | Free | Open-source command-line tool · creates isolated Python environments |
The facts
Each one read from virtualenv's own pages, with the date it was checked.
What it does
- Environment setup
- It creates an environment with its own Python, pip, and other tools, and packages installed into it remain isolated from system Python.checked 9 Oct 2026
- Extensibility
- Entry-point plugins can add interpreter discovery, environment creation, seeding, and activation behavior.checked 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.checked 9 Oct 2026
- Integrations
- The documentation names tox, poetry, and pipx as tools that use virtualenv’s programmatic API.checked 9 Oct 2026
- License
- virtualenv is distributed under the MIT License.checked 9 Oct 2026
- Operating systems
- The documented tested platforms include Linux, macOS, and Windows; unlisted platforms may work but are not explicitly supported.checked 9 Oct 2026
- Project history
- virtualenv was introduced by Ian Bicking in 2007, and PyPA took over its maintenance in 2011.checked 9 Oct 2026
- Purpose
- virtualenv is a command-line tool for creating isolated Python environments.checked 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.checked 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.checked 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.checked 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.checked 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.checked 9 Oct 2026
The company
- Maker
- The Python Packaging Authority is a working group that maintains core software projects used in Python packaging.checked 9 Oct 2026


