Installing a Virtual Environment for Python using Virtualenv

Posted Thursday, 04 March 2010 at 03:09 by Andrew Liu
Tagged: python | web development
Read more blogs...

 

OS: Fedora 10

 

When you install packages in python, they normally go into the site-packages folder, and are then available to all applications that use python.  Sometimes, you dont want this to occur.  You only want to install a package for yourself (or your application), and you dont want the chance that this may conflict with other applications.  That's where virtualenv comes in.  Virtualenv can be found at here at the python website.  Another good source of information comes from the author of Virtualenv, Ian Bicking, at this post.

 

So how do we do this?  Firstly, download virtualenv from the python website.  As always, I do this as root, and download source packages into the root directory.

 

$ cd
$ wget http://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.3.2.tar.gz
--2009-02-28 00:13:47--  http://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.3.2.tar.gz
Resolving pypi.python.org... 82.94.164.163, 2001:888:2000:d::a3
Connecting to pypi.python.org|82.94.164.163|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1027839 (1004K) [application/x-gzip]
Saving to: 'virtualenv-1.3.2.tar.gz'
100%[======================================>] 1,027,839    181K/s   in 5.5s
2009-02-28 00:13:54 (181 KB/s) - 'virtualenv-1.3.2.tar.gz' saved [1027839/1027839]
$ tar xvfz virtualenv-1.3.2.tar.gz
...
$ cd virtualenv-1.3.2
$ python setup.py install
...
Finished processing dependencies for virtualenv==1.3.2
$ which virtualenv
/usr/local/Python/bin/virtualenv

 

With virtualenv installed, we now have a binary called "virtualenv" that we can call.  This will create the virtual environment that we are after. Lets say we want to create a new project called "myapp".  We create the environment using the command below.

 

$ virtualenv myapp    New python executable in myapp/bin/python    Installing setuptools............done.
$ cd myapp
$ ls 
bin  include  lib
$ ls bin
activate  activate_this.py  easy_install  easy_install-2.6  python

 

We have a few shortcuts here in the bin directory that we need to use.  The first command is the "activate" command, which will set the paths needed to use this virtual environment.  I tend to like having a shortcut outside of the bin directory. So we'll create a symbolic link here.

 

$ ln -s bin/activate activate
$ ls 
activate bin  include  lib

 

And then to activate this, we need to source the file.  You can use the "source activate" command, or the shortcut ". activate".

 

$ . activate
(myapp)> ls
activate bin  include  lib

 

If successful, it will prefix your prompt with the words "(myapp)" to let you know that you are in a virtual environment.  Now you can work in your isolated environment!  When you are finished, naturally you should "deactivate" this virtual environment.

 

(myapp)> deactivate

 

And this will change the prompt back to normal.

 

 

 

 

 

Web News

Intuit reports strong Q1, small business demand and eyes midmarket firms
Intuit recently added a bevy of artificial intelligence features to its platform and is also moving upstream to midmarket companies.
--- 22 Nov 2019 08:48 AM

Pure Storage Q3 misses, Splunk beats
Pure Storage missed revenue estimates for Q3 and issued a weak outlook, while Spunk delivered strong results and upped its guidance.
--- 22 Nov 2019 08:37 AM

Twitter will finally let users disable SMS as default 2FA method
And it only took Twitter's CEO getting hacked to happen.
--- 22 Nov 2019 08:29 AM

Salesforce teases its emerging AI capabilities
At Dreamforce, the CRM powerhouse gave live demos of a fully-autonomous AI agent, the world's largest open-source language model and other tools on the horizon.
--- 22 Nov 2019 07:58 AM

Best gifts: Gadgets to get you fit and healthy
With the new year approaching, why not gently shift your focus toward good habits, health, fitness, and being kind to yourself?
--- 22 Nov 2019 06:03 AM

Company Blog


Search Behaviour

Posted Tuesday, 19 October 2010 at 05:58 by Andrew Liu


As an SEO provider, you have one main goal. Get your clients website to show up in search results fo...

Read more...



sm bus drivers missing in Device Manager

Posted Sunday, 18 April 2010
Updated Sunday, 24 February 2013 at 06:39 by Andrew Liu


When installing a new Windows XPinstallation, I seemingly always miss some drivers. One that trouble...

Read more...



Multiple Domains for SEO performance?

Posted Friday, 05 March 2010 at 23:13 by Andrew Liu


Online businesses and websites that cover a broad range of topics or one large topic are sometimes b...

Read more...



Tag Clouds - SEO or not?

Posted Thursday, 04 March 2010 at 04:34 by Andrew Liu


A tag cloud or word cloud is a visual depiction of tags or words related to a site, typically used t...

Read more...



Mozilla Thunderbird and Gmail IMAP Attachments Bug

Posted Wednesday, 03 March 2010 at 20:15 by Andrew Liu


I've been using Gmail since its early inception, and Iwas one of the first to utilise Gmail's IMAPfe...

Read more...



Read more blogs...