Python virtual environment is a self-contained directory tree that includes a Python installation and number of additional packages. The main purpose of Python virtual environments is to create an isolated environment for different Python projects. This way you can install a specific version of a module on a per project basis without worrying that it will affect your other Python projects. In this tutorial, we???ll provide a step by step instructions about how to create Python virtual environments on Ubuntu 18.04.