This article will help you to set up a Python virtual environment on Mac OS or your Macbook. If you are a Mac user, you should know that Python 2.7.x comes pre-installed in your Macbook, but as that is required by your operating system, so you cannot modify it or update it and I would recommend that you don't use it at all.
Instead, you should set up a virtual environment for your development purpose. You must be thinking about why we need a virtual environment? So here are a few points in its favor:
When we have a virtual environment, then we can install new packages inside the virtual environment which will not affect the operating system's python modules.
We can have different versions of Python installed inside the virtual environment.
You can set up a different virtual environment for each project for example if you are working on one project based on Tkinter module, some other projects based on Numpy module, then you can easily do this.
So to set up a virtual environment, we won't be using virtualenv or virtualenvwrapper module, which are most popular to set up a virtual environment.
But we will be using the venv module which comes as a default with Python 3.x version and is recommended to use for virtual environment creation.
We will use Homebrew to install Python 3.8 and will then move on to creating a virtual environment. If you don't have Homebrew installed on your Macbook, you can install Homebrew on your MacOSX and then use it to install Python 3.8 on your machine.
Once you have Homebrew set up, run the following command to install the latest version of Python:
$ brew install python
Homebrew will also install pip for you which you can verify by running the pip3 command.
To verify the successful installation of Python 3.x version, run the
python3 command and the IDLE should start in your terminal.
venvto create Virtual Environment
As per the official documentation of
venv module provides support for creating lightweight “virtual environments” with their own site directories, optionally isolated from system site directories. Each virtual environment has its own Python binary (which matches the version of the binary that was used to create this environment) and can have its own independent set of installed Python packages in its site directories.
We can run the following command to create a virtual environment:
python3 -m venv my_env
This will create a virtual environment for you with the following files in the virtual environment directory my_env:
To activate the virtual environment, run the following command:
This will start the virtual environment and you should see the name of the virtual environment added before the directory name as shown in the image below:
Now you can install anything in it, by running the
pip3 install command, for example to install the requests module, run the following command:
pip3 install requests
To get out of the virtual environment, run the
With this you have the complete virtual environment setup, now create any .py script and try running it in the virtual environment. Also, you can install as many modules as you want in the virtual environment.