4

I'm starting a new Python project, and I want to work with virtualenv to have a clean start. After setting one up though, I can still import old modules that I have not installed for the new virtualenv - why?

I created one with:

virtualenv ~/virtualenvs/mynewproject --no-site-packages

now i activate with source bin/activate

Now when I start a python interpreter (by just typing python), I thought that it will use the python interpreter in my virtualenv, and my pythonpath would have been set to the site-packages path of my virutalenv's python (/virtualenvs/mynewporject/lib/python2.7/site-packages), and nothing else.

However, when I look at sys.path, all the old, system-wide packages are available, and I can import them fine - which is what I don't want.

What am I missing here?

Hoff
  • 38,776
  • 17
  • 74
  • 99

1 Answers1

5

Check your PYTHONPATH environment variable which probably points to where you have the older version of your package. This variable always comes first in your sys.path so make sure you either clear it or change it to point to the virtualenv which you activate.

Piotr Dobrogost
  • 41,292
  • 40
  • 236
  • 366