Python geospatial analysis requires that we use a variety of modules with many dependencies. These modules often build on each other using specific versions of C or C++ libraries. You often run into version conflicts as you add Python modules to your system. Sometimes, when you upgrade a particular module, it might break your existing Python program due to changes in the API – or maybe you are running both Python 2 and Python 3 to take advantage of libraries written for each version. What you need is a way to safely install new modules without corrupting a working system or code. The solution to that issue is to use Python virtual environments through the virtualenv module.
The Python virtualenv module creates isolated, individual Python environments for each project so that you can avoid conflicting modules polluting your main Python installation. You...