A modern Python package and dependency manager that manages venvs, lockfiles and builds based on PEP 621 and PEP 517 metadata.
pypa/virtualenv
A tool for creating isolated Python virtual environments so each project can keep its own set of packages.
- Stars
- 5,063
- Forks
- 1,136
- Open issues
- 4
- Last commit
- yesterday
What is it?
virtualenv is a command-line tool for creating isolated Python environments. Each environment has its own interpreter and site-packages directory, so packages installed for one project do not affect other projects or the system Python.
The project is published on PyPI and is maintained under the PyPA (Python Packaging Authority) organization. Its documentation covers installation and usage, and the repository includes a changelog. The metadata lists support for CPython, PyPy, Jython, and Cython-related workflows.
It is a general-purpose library and CLI, so it fits any Python development workflow that needs dependency isolation.
Key features
- 01Creates isolated Python environments with their own interpreter and site-packages.
- 02Installable from PyPI and usable as a command-line tool.
- 03Supports multiple Python implementations, including PyPy and Jython.
- 04Maintained under the PyPA organization with documentation and a changelog.
Use cases
- Keeping dependencies for different Python projects separate.
- Testing a project against different interpreters or package versions.
- Installing Python packages without modifying the system Python.
In collections
Topics
FAQ
- What is virtualenv?
- A tool for creating isolated Python virtual environments so each project can keep its own set of packages. virtualenv is a command-line tool for creating isolated Python environments. Each environment has its own interpreter and site-packages directory, so packages installed for one project do not affect other projects or the system Python.
- Is virtualenv free to use? What license does it have?
- virtualenv is open source under the MIT license. Check the license terms before using it in commercial products.
- Is virtualenv still maintained?
- Actively maintained. The last commit to virtualenv was on Nov 4, 2026.
- What can I use virtualenv for?
- Keeping dependencies for different Python projects separate. Testing a project against different interpreters or package versions. Installing Python packages without modifying the system Python.
- Where can I get virtualenv?
- The source code and installation instructions are on GitHub: https://github.com/pypa/virtualenv
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
An extremely fast Python package and project manager written in Rust, replacing pip, virtualenv, pyenv, pipx and more.
Installs and runs Python command-line applications in isolated environments so their dependencies never conflict with each other or the system.
Python packaging and dependency management tool that declares, locks and installs project dependencies through a single pyproject.toml file.
A Python virtualenv and dependency management tool that combines pip and virtualenv, using Pipfile and Pipfile.lock for reproducible builds.
A set of command-line tools (pip-compile and pip-sync) that pin Python dependencies into reproducible requirements files and keep environments in sync with them.