Fixing the '/usr/bin/python: No Module Named Virtualenvwrapper' Error: A Comprehensive Guide

If you are a developer working with Python and its packages, you may have encountered the /usr/bin/python: No module named virtualenvwrapper error. This error occurs when you either don't have the virtualenvwrapper package installed or your system is not configured correctly to find the package.

In this guide, we will walk you through the steps to resolve this error and get your Python projects up and running. Let's get started!

Table of Contents


Before we get started, make sure you have the following:

  1. Python installed on your system. You can download it from the official website.
  2. Pip (Python package manager) installed on your system. If you don't have it, you can install it by following the instructions from the official documentation.

Step 1: Install Virtualenvwrapper

Make sure you have the virtualenvwrapper package installed on your system. You can install it using the following command:

pip install virtualenvwrapper

Step 2: Configure Environment Variables

After installing the virtualenvwrapper package, you need to configure the environment variables required for it to work properly. Add the following lines to your shell startup file (.bashrc, .zshrc, or .bash_profile):

export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=$(which python3) # or $(which python) if using Python 2
export VIRTUALENVWRAPPER_VIRTUALENV=$(which virtualenv)
source $(which
  • WORKON_HOME: The directory where your virtual environments will be stored.
  • VIRTUALENVWRAPPER_PYTHON: The path to your Python executable.
  • VIRTUALENVWRAPPER_VIRTUALENV: The path to the virtualenv executable.
  • source $(which This line sources the script.

Step 3: Source the Virtualenvwrapper Script

After adding the environment variables to your shell startup file, save it and restart your terminal or run the following command to apply the changes:

source ~/.bashrc # or ~/.zshrc, ~/.bash_profile, depending on your shell

Now, the /usr/bin/python: No module named virtualenvwrapper error should be resolved, and you should be able to use the virtualenvwrapper commands without any issues.


1. What is virtualenvwrapper?

Virtualenvwrapper is a set of extensions for Virtualenv, a tool to create isolated Python environments. Virtualenvwrapper provides a more convenient way to manage your virtual environments, making it easier to create, delete, and switch between them.

2. Why should I use virtual environments in Python?

Using virtual environments allows you to isolate the dependencies of each project, making it easier to manage different versions of packages and avoiding conflicts between them. They also help you maintain a clean system-wide Python installation.

3. Can I use virtualenvwrapper with Python 2?

Yes, you can use virtualenvwrapper with Python 2. Just make sure to set the VIRTUALENVWRAPPER_PYTHON environment variable to the path of your Python 2 executable.

4. How do I create a new virtual environment using virtualenvwrapper?

You can create a new virtual environment using the mkvirtualenv command followed by the name of your environment:

mkvirtualenv myenv

5. How do I activate and deactivate a virtual environment?

To activate a virtual environment, use the workon command followed by the name of the environment:

workon myenv

To deactivate the current virtual environment, simply run the deactivate command:


Great! You’ve successfully signed up.

Welcome back! You've successfully signed in.

You've successfully subscribed to

Success! Check your email for magic link to sign-in.

Success! Your billing info has been updated.

Your billing was not updated.