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

Installing and Using Meeplace, the Business Review CMS
Meeplace is a business review script and content management system that you can install to turn your site into a professional review site, similar to sites like Yelp.
2010-03-08T18:32:36-05:00

Sending an HTML and Plain Text E-newsletter with ASP.NET, Part 2
Using ASP.NET and a database, you can create an electronic newsletter and send it to multiple recipients at once.
2010-03-04T15:36:09-05:00

Create Multilingual Web Sites with Windows Unicode Fonts
To input text in languages other than your keyboard default on Windows platforms, you'll need to do some tweaking. Learn how to enable various International Unicode Keyboards in Windows XP.
2010-02-23T15:06:39-05:00

Build a Shopping Cart Admin Tool for Your PHP Online Store
With an online shopping cart administration tool in place, you can easily create administrators and non-administrators for your PHP site and manage their privileges and tasks accordingly.
2010-02-17T13:14:41-05:00

Use Web Caching to Make Your Web Site Faster
Get an overview of how the multiple levels of web caching behave and how you can use them to make your site faster.
2010-02-08T14:28:15-05:00

Company Blog


Link Building SEO Strategies

Posted Monday, 08 March 2010
Updated Tuesday, 09 March 2010 at 02:09 by Andrew Liu


Link building might be a necessary step for your search engine optimisation campaign, but very few p...

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 I was one of the first to utilise Gmail's IMAP ...

Read more...



Loading Prototype and Scriptaculous javascript libraries from Google

Posted Tuesday, 17 November 2009 at 18:21 by Andrew Liu


We all use javascript libraries heaviliy, and most javascript libraries take quite a lot of resource...

Read more...



Read more blogs...