venvwrapper
venvwrapper is a Python package that provides commands that make it easier to manage Python virtual environments that are based on the venv package from the Python standard library.
Basically, venvwrapper is to venv what virtualenvwrapper is to virtualenv: It provides more convenient commands to make the management of virtual environments easier. However, virtualenv supports only a subset of the functionality of virtualenvwrapper.
venvwrapper combines nicely with virtualenvwrapper: The virtual environments created by both packages can reside in the same directory side by side, regardless which of the two created them. That allows you to gradually convert your existing virtualenv/virtualenvwrapper based environments to be based on venv.
Since Python 3.5, venv is the recommended tool for Python virtual environments, as stated in Creating virtual environments:
The use of venv is now recommended for creating virtual environments.
Also note this tweet by the BDFL on the topic:
I use venv (in the stdlib) and a bunch of shell aliases to quickly switch.
Supported shells
At this point, venvwrapper supports bash and zsh. More shells may work, but not with tab completion.
Contributions to add support for more shells are welcome!
Installation
-
Install the venvwrapper Python package into your default system Python 3 (i.e. with no virtual environment active):
$ pip3 install --break-system-packages venvwrapperThis installs the
venvwrapper.shscript so that it is available in the PATH.Note that this Python package has no Python dependencies, so it does not break your system Python in any way.
-
Verify that
venvwrapper.shis available in the PATH:$ which venvwrapper.sh /opt/homebrew/bin/venvwrapper.sh -
Add the following to your shell startup script (e.g.
~/.bash_profileor~/.zshrc) in a place where no Python virtual environment is active:# VENV_HOME=$HOME/.venv venv_wrapper=$(which venvwrapper.sh) if [[ -n $venv_wrapper ]]; then source $venv_wrapper fiVENV_HOMEspecifies the directory under which the directories for the virtual environments are created. If not set, it defaults to$HOME/.venv.VENV_HOMEcan be set to the same directory that is used for virtualenvwrapper (i.e. itsWORKON_HOMEdirectory). -
Verify the installation by starting a new terminal session, and invoking:
$ mkvenv --helpThis should display the help:
mkvenv - Create and activate a new Python virtual environment Usage: mkvenv ENV [PYTHON] Where: ENV Name of the new virtual environment PYTHON Python command to use for creation. Default: python3
Usage
All commands provided by venvwrapper explain their usage when called with -h
or --help:
venv- activate an existing virtual environmentmkvenv- create and activate a new virtual environmentrmvenv- remove one or more virtual environmentslsvenv- list existing virtual environments
The venv and rmvenv commands support tab completion.
The standard deactivate script provided by the virtual environment is used
to deactivate the current virtual environment.
An active virtual environment is indicated by an (env) prefix in the command
prompt. That is the normal behavior of venv.
The commands provided by venvwrapper are actually shell functions, so they
cannot be used in other scripts. If you need to activate virtual environments
in other scripts, call the activate script provided by the virtual
environment.
If venvwrapper is configured to use the same directory for its virtual
environments as virtualenv/virtualenvwrapper, then the commands that operate on
existing virtual environments can be used on either kind of virtual environment,
regardless of which package created it. For example, lsvenv will list both
kinds of virtual environments.
Development and contributions
The venvwrapper project welcomes contributions.
For how to set up a development environment, see DEVELOP.md.
References
The venvwrapper.sh script provided in this package is based on the script by Ismail Demirbilek at https://gist.github.com/dbtek/fb2ddccb18f0cf63a654ea2cc94c8f19.
Metadata
Release files for venvwrapper 0.9.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| venvwrapper-0.9.0.tar.gz | 8.1 kB | With provenance | Details for venvwrapper-0.9.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| venvwrapper-0.9.0-py3-none-any.whl | Python 3 | none | any | Details for venvwrapper-0.9.0-py3-none-any.whl |
Total release size: 16.5 kB
Release files / venvwrapper-0.9.0.tar.gz
| Download URL | venvwrapper-0.9.0.tar.gz |
|---|---|
| Size | 8.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7a69083a8e8051facbc168ab8d207f0f354527f0fa0f674a93aa9fb061f8cebd
|
|
BLAKE2b-256 checksum How to use checksums |
9b713fbc4346e255496c546722e9f0ad94a41d7f96ed92c8461735e6f64ab38c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.0.1 CPython/3.12.8
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Dec 15, 2024.
Transparency logRelease files / venvwrapper-0.9.0-py3-none-any.whl
| Download URL | venvwrapper-0.9.0-py3-none-any.whl |
|---|---|
| Size | 8.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
72578f5c389f1b46492b1587fa4cf7bcab510c3772f3f76262b3c45d87602833
|
|
BLAKE2b-256 checksum How to use checksums |
f5affe7e8842d6acab400f358399bbe6c59f9d0b5e572088c8f2276162ae660b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.0.1 CPython/3.12.8
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Dec 15, 2024.
Transparency logSecurity for venvwrapper 0.9.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
Both files in this release have been uploaded with provenance metadata.
Attestation for venvwrapper-0.9.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Dec 15, 2024.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.