virtualenvwrapper (user friendly wrappers for the functionality of
Install pip for Python 2 with
sudo apt-get install python-pip
or for Python 3
sudo apt-get install python3-pip
Optional: Turn on bash autocomplete for pip
pip completion --bash >> ~/.bashrc
source ~/.bashrc to enable.
sudo apt-get install virtualenv
Use pip to install virtualenvwrapper
The reason we are also installing virtualenvwrapper is because it offers nice and simple commands to manage your virtual environments.
Because we want to avoid
sudo pip we install
virtualenvwrapper locally (by default under
pip install --user virtualenvwrapper
or for Python 3
pip3 install --user virtualenvwrapper
echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3" >> ~/.bashrc
Setup virtualenv and virtualenvwrapper
First we export the
WORKON_HOME variable which contains the directory in which our virtual environments are to be stored. Let's make this
now also create this directory
and put this export in our
~/.bashrc file so this variable gets automatically defined
echo "export WORKON_HOME=$WORKON_HOME" >> ~/.bashrc
virtualenvwrapper we need to import its functions in our
echo "source ~/.local/bin/virtualenvwrapper.sh" >> ~/.bashrc
We can also add some extra tricks like the following, which makes sure that if
pip creates an extra virtual environment, it is also placed in our
echo "export PIP_VIRTUALENV_BASE=$WORKON_HOME" >> ~/.bashrc
Source ~/.bashrc to load the changes
Test if it works
Now we create our first virtual environment. The
-p argument is optional, it is used to set the Python version to use; it can also be
python3 for example.
mkvirtualenv -p python2.7 test
You will see that the environment will be set up, and your prompt now includes the name of your active environment in parentheses. Also if you now run
python -c "import sys; print sys.path"
you should see a lot of
/home/user/.virtualenv/... because it now doesn't use your system site-packages.
You can deactivate your environment by running
and if you want to work on it again, simply type
Finally, if you want to delete your environment, type
Thanks to the author of this blogpost.