Virtual environments provide dependency isolation for small projects. They also keep your site-packages
directory small. Since Python 3.3, virtualenv
has been part of the standard Python distribution. The virtualenvwrapper Python project has some extra convenient features for virtual environment management. I will demonstrate virtualenv and virtualenvwrapper functionality in this recipe.
You need Python 3.3 or later. You can install virtualenvwrapper
with pip
command as follows:
$ [sudo] pip install virtualenvwrapper
On Linux and Mac, it's necessary to do some extra work—specifying a directory for the virtual environments and sourcing a script:
$ export WORKON_HOME=/tmp/envs $ source /usr/local/bin/virtualenvwrapper.sh
Windows has a separate version, which you can install with the following command:
$ pip install virtualenvwrapper-win
pyvenv
script part of your Python distribution:$ pyvenv /tmp/testenv $ ls bin include lib pyvenv.cfg
testenv
directory in the /tmp
directory with several directories and a configuration file. The configuration file pyvenv.cfg
contains the Python version and the home directory of the Python distribution.activate
script, for example, with the following command:$ source bin/activate
On Windows, use the activate.bat
file.
$ deactivate
On Windows, use the deactivate.bat
file.
vagrant@data-science-toolbox:~$ mkvirtualenv env2
deactivate
command:(env2)vagrant@data-science-toolbox:~$ deactivate
rmvirtualenv
command:vagrant@data-science-toolbox:~$ rmvirtualenv env2