How to upgrade a django package only in a python virtual environment?
After you switch to the virtual environment with the activate script. Just use pip install Django==1.4 no sudo needed.
Alternately you can use pip install -E=/path/to/my/virtual/env Django==1.4 in which case you don't need to switch to the virtual environment first.
I needed a virtual environment with all the global packages included. I created one, and the global Django version is 1.3.1. Now, I need to upgrade the Django version to 1.4 only in my virtual environment. I switched to my environment by activating it, and tried 

sudo pip install Django=1.4

It was installed,not in the virtual env but in the global dist-packages.
How to install a package only in the virtual environment?