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...

  1. 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
    
  2. 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.
  3. 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.

  4. 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.

  5. Alternatively, you could use virtualenvwrapper. Create and switch to a virtual environment with the following command:
    vagrant@data-science-toolbox:~$ mkvirtualenv env2
    
  6. Deactivate the environment with the deactivate command:
    (env2)vagrant@data-science-toolbox:~$ deactivate
    
  7. Delete the environment with the rmvirtualenv command:
    vagrant@data-science-toolbox:~$ rmvirtualenv env2
    

See also

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset