Django : Which approach is better [ virtualenv + pip ] vs [manually carrying packages in svn]?
Virtualenv and pip are fantastic for working on multiple django projects on one machine. However, if you only have one project that you are editing, it is not necessary to use virtualenv.
I have a django project that uses a lot of 3rd party apps, so wanted to decide out of the two approaches to manage my situation :

I can use [ virtualenv + pip ] along with pip freeze as requirements file to manage my project dependencies.


I don't have to worry about the apps, but can't have that committed with my code to svn.
I can have a lib folder in my svn structure and have my apps sit there and add that to sys.path

    This way, my dependencies can be committed to svn, but I have to manage sys.path


Which way should I proceed ?
What are the pros and cons of each approach ?
Update:


Method1 Disadvantage : Difficult to work with appengine.