简体   繁体   中英

virtualenv using incorrect sys.path

Things were working fine a moment ago. I have no idea what I did to piss off virtualenv, but it's acting very strangely now. Any help is appreciated.

When making a virtualenv, I use this command:

virtualenv -p /usr/bin/python3 venv

Now I see that the packages I install using pip install package are not being loaded by python. They are installed correctly by pip, into the venv/lib/python3.4/site-packages directory, however the python in my virtualenv is not looking through that directory for packages.

in Python:

import sys
sys.path
['', '/usr/lib/python3.4', '/usr/lib/python3.4/plat-x86_64-linux-gnu', '/usr/lib/python3.4/lib-dynload', '/usr/local/lib/python3.4/dist-packages', '/usr/lib/python3/dist-packages']

This is wrong! It's using the wrong paths, and it should at least include

/myhomedir/venv/lib/python3.4/site-packages

So I can import my packages.

In fact, in Python opened in a virtualenv:

import sys
sys.path.append("/myhomedir/venv/lib/python3.4/site-packages")
import package

works!!

But I don't want to have to manually append this path every time I use Python. I did something to make sys.path very angry, and I don't know what that is.

I just sudo apt-get updated and sudo apt-get upgraded to make sure it wasn't a conflict... no dice.

Possibly related:

I've noticed that my virtualenv command outputs the following line:

Using base prefix '/usr'

I don't recall this happening before. However even when I do virtualenv venv , (without specifying Python version, and that output does not appear) my sys.path is still wrong and packages don't load.

Anyone thoughts? Help is greatly appreciated.

Solved the problem... posting result if anyone else has the same issue. A PICNIC error of the highest degree.

In my .bashrc file, I had an alias python=/usr/bin/python3

Well when my virtualenv tried to execute python, it was re-routing to /usr/bin instead of using it's internal python.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM