Virutalenv is a python program that allows you to create system separate container with an own version of python/pip. All installed packages(with pip) are store there.
This allow a developer to install all necessarily packages into the userspace. It's smoother and allow to have separate version of the same project, for example django.
Starting command:
virtualenv --no-site-packages .env
To apply the virtualenv to your local environment run
That will change you bash environment to use the python/pip version of the virtualenv.
Now you can install you python packages via pip without interfering with other version in the system.
An example for our django project, this the list of need packages, all stored in a "requirements.txt" file.
To create a requirements.txt, push all the requiert package into the file. You can use the pip freeze command to create file for all installed packages.