When using virtualenv (or virtualenvwrapper), the recommended practice is to group all your virtual environments together ... for example in ~/.virtualenvs
BUT, I've noticed in reading a number of articles on deploying Django applications, that the recommendation seems to be to put your virtual environments somewhere under the root of the individual web application ... for example in /srv/www/example.com/venv.
My questions are:
Why?
Would it matter if I went one way or the other?
And is one way recommended over another?
pip freeze
will reflect the project requirements, not the state of the system Python which may include extra packages not needed for the project. It's a best practise to use a virtualenv for a Django project. – Incomprehensible