title: Django - Is it better to install packages to virtualenv/system or include them within the project?
body: <p>The large number of apps/packages which can be used in python/django is a great advantage of both. This also raises a question about handling these installed applications/library, especially when there are multiple environments in which the project has to be deployed.</p>
  
  <p>Installing such third party libraries to the system does not seem ideal to me. Thus after some research, I found that there are two possible ways to go namely virtualenv or including the package within the project folder. But the problems are that creating a virtualenv for each project is kind of messy and on the other side, including large packages within the project directory increases the project size and also creates import problems.</p>
  
  <p>I have found kind of a middle ground between the above two methods which is to install libraries which can be shared with multiple projects into a virtualenv and smaller project specific libraries within the project.</p>
  
  <p>For example, for a django project, I would install django into a virtualenv and other libraries used in the project for example xlwrt, dojango etc are included within a "lib" folder within the project.</p>
  
  <p>Is this the best way to go or are there better alternative methods??     </p>