Source

dughh_talk /

Filename Size Date modified Message
ui
46 B
1.9 KB
128 B
123 B
118 B
134 B
779 B
4.4 KB
30 B
2.9 KB

A talk on virtualenv and pip

Well, here we go. The good, the bad and the ugly internals of Python packaging.

Let's get ready to rumble

  • First of all you need to bootstrap your environment.

  • Just run:

    hg clone http://bitbucket.org/dughh_talk
    cd dughh_talk
    bootstrap.[sh|bat]
    
  • Bear witness to teh magic!

Woohoo, what happened there?

Well easy, let's got through this step by step:

#!/bin/sh
virtualenv --no-site-packages env
source env/bin/activate
easy_install pip
pip install -r requirements.txt
deactivate

Setup the virtual environment

  • Create a pristine python environment w/o any strings attached in env:

    virtualenv --no-site-packages env
    
  • Activate the environment:

    source env/bin/activate
    

Bootstrap pip and install a package

  • First install pip:

    easy_install pip
    
  • Now install a package using pip:

    pip install docutils
    

Freeze the environment

Now this is the interesting part.

  • Running:

    pip freeze > requirements.txt
    
  • produces:

    cat requirements.txt
    docutils==0.6
    

Install frozen requirements

Now let's install the packages from the file created before.

  • Just run:

    pip install -r requirements.txt
    

Thank you, that's it

  • Now use this and create some awesome fabfiles for bootstrapping django environments!

  • Or use virtualenvwrapper to ease working on multiple projects.

  • Links: