After some digging, I found out that this is a problem with activate_this.py script. In this current state, virtualenv <= 1.4.6, this script assumes that the path to the package site directory is the same for all platforms. However, the path to the site-packages directory is different from * nix-like platforms and Windows.
In this case, activate_this.py script adds the * nix style path:
VIRTUALENV_BASE / Library / python2.5 / site packages /
for the python path instead of the windows-specific path:
VIRTUALENV_BASE \ Lib \ site-packages \
I created a problem in virtualenv problem manager that describes the problem and the solution. If you are interested, you can check this problem here: http://bitbucket.org/ianb/virtualenv/issue/31/windows-activate_this-assumes-nix-path-to-site
We hope that the fix will be available in the quick release of virtualenv.
If you need to fix this problem right now, and the virtualenv package has not yet been fixed, you can "fix" your own activate_this.py, as shown below.
Edit the VIRTUALENV \ Scripts \ activate_this.py file. Change the line (17?):
site_packages = os.path.join(base, 'lib', 'python%s' % sys.version[:3], 'site-packages')
to
if sys.platform == 'win32': site_packages = os.path.join(base, 'Lib', 'site-packages') else: site_packages = os.path.join(base, 'lib', 'python%s' % sys.version[:3], 'site-packages')
At the same time, your activate_this.py script will first check which platform it is running on, and then adapts the path to the package sites directory to match it.
Enjoy it!