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

SK Hynix sees profit rise 77 percent over the year
SK Hynix has posted 4.3673 trillion won in operating profits for the first quarter of 2018, its second strongest ever.
--- 24 Apr 2018 01:42 PM

NNNCo rolling out Newcastle IoT network
The NSW government has kicked in AU$5 million for NNNCo to build out a LoRa IoT network to support Newcastle's smart city project.
--- 24 Apr 2018 12:05 PM

GoGet 'hacker' case stalled awaiting information from Amazon
Sydney Local Court has heard that Nik Cubrilovic intends to plead not guilty to all charges relating to the alleged access of GoGet's systems.
--- 24 Apr 2018 11:41 AM

SD-WAN & Security - The Ultimate Juggling Act
As long as we take the time to get SD-WAN right and spend a heap of time with customers really looking under the hood. We'll be able to work out what is best for them and importantly get it right.
--- 24 Apr 2018 11:28 AM

Transforming communications is not a discussion of whether to replace handsets with headsets!
There's no need to throw away telephones with an outdated telephony strategy. Let your staff choose for themselves.
--- 24 Apr 2018 09:55 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...