Feb. 05, 2013

How to use Python virtualenv

What is Virtualenv?

A Virtual Environment, put simply, is an isolated working copy of Python which
allows you to work on a specific project without worry of affecting other projects

It enables multiple side-by-side installations of Python, one for each project.

It doesn’t actually install separate copies of Python, but it does provide a
clever way to keep different project environments isolated. 

Verify if Virtualenv is installed

There is a chance that virtualenv is already installed on your system. 

Run the following command in your terminal
virtualenv --version
If you see a version number (in my case 1.6.1), it's already installed.

Install Virtualenv

There are a number of ways to install virtualenv on your system. 
$ sudo apt-get install python-virtualenv

$ sudo easy_install virtualenv

$ sudo pip install virtualenv

Setup and Use Virtualenv

Once you have virtualenv installed, just fire up a shell and create your own
First create a directory for your new shiny isolated environment
mkdir ~/virtualenvironment
To create a folder for your new app that includes a clean copy of Python,
simply run:
virtualenv ~/virtualenvironment/my_new_app
(add --no-site-packages if you want to isolate your environment from the main site
packages directory)

To begin working with your project, you have to cd into your directory (project)
and activate the virtual environment.
cd ~/virtualenvironment/my_new_app/bin
Lastly, activate your environment:
source activate
Notice how the prompt of your shell changed to show the active environment. 

That is how you can see that you're in your new environment.

Any packages you install now using pip or easy_install get installed into

To exit your virtualenv just type “deactivate”.

What did Virtualenv do?

Packages installed here will not affect the global Python installation. 

Virtualenv does not create every file needed to get a whole new python environment

It uses links to global environment files instead in order to save disk space end
speed up your virtualenv. 

Therefore, there must already have an active python environment installed on your

Install a package in your Virtualenv

If you look at the bin directory in your virtualenv, you’ll see easy_install which
has been modified to put eggs and packages in the virtualenv’s site-packages 

To install an app in your Virtualenv:
pip install flask
You don't have to use sudo since the files will all be installed in the virtualenv
/lib/python2.7/site-packages directory which was created as your own user account
That's it, I hope that you learned something from this post
For further reading, please see:

Share this article

Recommended Python Training – DataCamp

For Python training, our top recommendation is DataCamp.

Datacamp provides online interactive courses that combine interactive coding challenges with videos from top instructors in the field.

Datacamp has beginner to advanced Python training that programmers of all levels benefit from.


Download Our Free Guide To Learning Python

* indicates required

Read more about:
Disclosure of Material Connection: Some of the links in the post above are “affiliate links.” This means if you click on the link and purchase the item, I will receive an affiliate commission. Regardless, PythonForBeginners.com only recommend products or services that we try personally and believe will add value to our readers.