- Python Data Analysis Cookbook
- Ivan Idris
- 315字
- 2025-04-04 19:55:25
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:
$ 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
How to do it...
- Create a virtual environment for a given directory with the
pyvenv
script part of your Python distribution:$ pyvenv /tmp/testenv $ ls bin 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 filepyvenv.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:vagrant@data-science-toolbox:~$ rmvirtualenv env2
See also
- The Python standard library documentation for virtual environments at https://docs.python.org/3/library/venv.html#creating-virtual-environments (retrieved July 2015)
- The virtualenvwrapper documentation is at https://virtualenvwrapper.readthedocs.org/en/latest/index.html (retrieved July 2015)