For every project and every stage (dev, prod, …) I use a different linux user. I can use pip and the --user option, to install packages in $HOME.
My isolated environment comes form different linux users.
Which benefits could I get from virtualenv? Up to now, I see no reason to use virtualenv. But maybe I am missing something.
Linux user names are build like this: project_name_S and S is the stage (dev, qual, prod, testing). Each stage can be on a different host.
Update:
More than three years after asking this question: I use virtualenv now. The user-environment was buggy. Maybe it has better support now. But nothing stops you from creating a virtualenv in $HOME 🙂
Creating a virtualenv sould be quicker and easier than creating a new user. I would not recomend switching for existing projects, but consider it for new projects.