How to use the command virtualenvwrapper (with examples)
The virtualenvwrapper command is a set of wrapper commands for Python’s virtualenv tool. It provides a convenient way to manage and work with virtual environments in Python. This article will cover various use cases of the virtualenvwrapper command and provide examples for each use case.
Use case 1: Create a new Python virtualenv in $WORKON_HOME
Code:
mkvirtualenv virtualenv_name
Motivation: The mkvirtualenv command is used to create a new Python virtualenv. Creating virtual environments allows developers to isolate Python package dependencies for different projects. This is particularly useful when working with multiple projects with different versions of packages.
Explanation: The “–python” option can be used to specify a specific Python version for the virtual environment. If not specified, the default Python version will be used.
Example output:
New python executable in /path/to/virtualenv_name/bin/python
Installing setuptools, pip, wheel...
done.
Use case 2: Create a virtualenv for a specific Python version
Code:
mkvirtualenv --python /usr/local/bin/python3.8 virtualenv_name
Motivation: Sometimes, it is necessary to create a virtual environment for a specific version of Python. This can be useful when testing code against different Python versions or when working on a project that requires a specific Python version.
Explanation: The “–python” option is used to specify the path to the Python executable for the desired Python version. In this example, the virtualenv named “virtualenv_name” will be created with Python 3.8.
Example output:
New python executable in /path/to/virtualenv_name/bin/python3.8
Installing setuptools, pip, wheel...
done.
Use case 3: Activate or use a different virtualenv
Code:
workon virtualenv_name
Motivation: The workon command is used to activate a virtualenv. Activating a virtual environment allows developers to switch between different virtual environments and work on projects with separate dependencies.
Explanation: The “virtualenv_name” argument is used to specify the name of the virtual environment to activate. Once activated, the command prompt will be prefixed with the virtualenv name.
Example output:
(virtualenv_name) $
Use case 4: Stop the virtualenv
Code:
deactivate
Motivation: The deactivate command is used to stop using a virtualenv. This allows the developer to exit a virtual environment and return to the system-wide Python environment.
Explanation: The deactivate command does not take any arguments. It simply stops using the currently activated virtualenv.
Example output:
$
Use case 5: List all virtual environments
Code:
lsvirtualenv
Motivation: The lsvirtualenv command is used to list all the virtual environments that have been created. This can be useful to quickly see which virtual environments exist on the system.
Explanation: The lsvirtualenv command does not take any arguments. It simply lists the names of all the virtual environments.
Example output:
virtualenv_name1
virtualenv_name2
virtualenv_name3
Use case 6: Remove a virtualenv
Code:
rmvirtualenv virtualenv_name
Motivation: The rmvirtualenv command is used to remove a virtualenv. This can be useful when a virtual environment is no longer needed and you want to free up disk space.
Explanation: The “virtualenv_name” argument is used to specify the name of the virtual environment to remove. Once the virtualenv is removed, it cannot be recovered.
Example output:
Removing virtualenv /path/to/virtualenv_name
Use case 7: Get a summary of all virtualenvwrapper commands
Code:
virtualenvwrapper
Motivation: The virtualenvwrapper command provides a summary of all the available commands in the virtualenvwrapper tool. This can be useful to quickly review the available commands and their usage.
Explanation: The virtualenvwrapper command does not take any arguments. It simply displays a summary of all the available commands.
Example output:
mkvirtualenv
workon
deactivate
lsvirtualenv
rmvirtualenv
...
Conclusion:
The virtualenvwrapper command provides a set of wrapper commands for Python’s virtualenv tool. It offers a convenient way to create, manage, and work with virtual environments in Python. By using these commands, developers can easily isolate Python package dependencies for different projects and switch between virtual environments as needed.