Installed virtualenv and virtualenvwrapper: Python says no module named virtualenvwrapper

I've managed to get this working after having the same problem you've described here by editing my ~/.bash_profile and adding this:

export WORKON_HOME=$HOME/code/.virtualenvs
export PROJECT_HOME=$HOME/code
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'

source /usr/local/bin/virtualenvwrapper.sh

Save, close.

then:

$ source ~/.bash_profile

and:

$ mkvirtualenv test

I had the same problem setting up virtualenvwrapper on ubuntu.

I had installed virtualenv, virtualenvwrapper using pip which installed these modules in the site package of python3.5. How did I find that out?

Open your terminal and type

$ pip --version

pip 9.0.1 from /home/clyton/.virtualenvs/test1/lib/python3.5/site-packages (python 3.5)

Then I checked the variable VIRTUALENVWRAPPER_PYTHON whose value was /usr/bin/python. On your terminal and type

$ ls -l $VIRTUALENVWRAPPER_PYTHON

lrwxrwxrwx 1 root root 9 Dec 10  2015 **/usr/bin/python -> python2.7**

As you can see this variable is pointing to python2.7 and you may have installed virtualenv in a different python site package.

So to fix this problem, just add the below line in your bashrc

VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3.5

NOTE: Set the above value to the python version with which virtualenv was installed. In my case it was python3.5 so I have set that value. How to find out the python version used to install virtualenv? Again type pip --version in the terminal.

Then open a new shell session and try mkvirtualenv again. This time it should work.