Purpose of using virtual environment
Another benefit of using Pipenv/virtualenv is that it makes deploying multiple web apps on the same server a lot easier. Instead of installing the packages for a given web app globally on the server, the virtualenv can be managed by a non-privileged deployment process, all contained in that specific web app's deployment directory.
Is the primary purpose of using a virtual environment to control versions of various packages installed on your development machine?
For example, I am developing a webapp using Django. My assumption is that using a virtual environment like Pipenv will ensure I don't have any problems down the road if I update my Django or python versions on my computer, because the webapp project is isolated with it's own versions of Django and Python.
Are there any other notable benefits to using Pipenv?