Creating a virtual environment with virtualenv and virtualenvwrapper
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.
Getting ready
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:
Windows has a separate version, which you can install with the following command:
$ pip install virtualenvwrapper-win
How to do it...
Create a virtual environment for a given directory with the pyvenv script part of your Python distribution:
$ pyvenv /tmp/testenv$ lsbin include lib pyvenv.cfg
In this example, we created a 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 the environment on Linux or Mac by sourcing the activate script, for example, with the following command:
$ source bin/activate
On Windows, use the activate.bat file.
You can now install packages in this environment in isolation. When you are done with the environment, switch back on Linux or Mac with the following command:
$ deactivate
On Windows, use the deactivate.bat file.
Alternatively, you could use virtualenvwrapper. Create and switch to a virtual environment with the following command:
vagrant@data-science-toolbox:~$ mkvirtualenv env2
Deactivate the environment with the deactivate command:
(env2)vagrant@data-science-toolbox:~$ deactivate
Delete the environment with the rmvirtualenv command: