Setting up your Python environment with virtualenv and virtualenvwrapper on MacOS

Chanon Roy
2 min readDec 10, 2021

Virtualenv is a great tool for creating isolated Python environments that contain all the necessary dependencies for a particular project. Without them, our global environment can quickly become out of sync with what we expect for a particular project.

In today’s post, I’ll walk you through my preferred flow for setting up Python and virtual environment on a new MacOS environment.

1. Install brew 🍺

brew is a package manager for macOS. It’s awesome.

You may already have it. If you do, the following command should work

$ brew --version
Homebrew 2.2.15

If not, install it with this command:

/usr/bin/ruby -e "$(curl -fsSL"

2. Install Python 🐍

With brew setup, we can now use it to install Python.

brew install python3

If everything installed correctly, you should be able to see the following:

$ which python3

3. Install virtualenv and virtualenvwrapper 📦

With Python installed, we should have access to the pip package manager.

Let’s install two packages:

  • virtualenv — a tool for creating isolated virtual python environments
  • virtualenvwrapper — extensions to help create and delete environments
pip3 install virtualenv virtualenvwrapper

4. Set up path and virtualenv variables 🗒

We need to add some user configuration settings, so that our system knows where to find Python and our custom configurations for virtualenv. What this means is adding some lines to our .zshrc or .bash_profile.

In this example, we’ll edit our zsh configuration file with nano line text editor.

nano ~/.zshrc

Add the following lines:

# Path setup
Chanon Roy

Hello. I write primarily about programming and technology. I’m also fluent in film references.

Recommended from Medium


See more recommendations