I had a problem where python
was not finding modules installed by pip while in the virtualenv.
I have narrowed it down, and found that when I call python
when my virtualenv in activated, it still reaches out to /usr/bin/python
instead of /home/liam/dev/.virtualenvs/noots/bin/python
.
When I use which python
in the virtualenv I get:
/home/liam/dev/.virtualenvs/noots/bin/python
When I look up my $PATH
variable in the virtualenv I get:
bash: /home/liam/dev/.virtualenvs/noots/bin:/home/liam/bin:/home/liam/.local/bin:/home/liam/bin:/home/liam/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin: No such file or directory
and yet when I actually run python
it goes to /usr/bin/python
To make things more confusing to me, if I run python3.5
it grabs python3.5 from the correct directory (i.e. /home/liam/dev/.virtualenvs/noots/bin/python3.5
)
I have not touched /home/liam/dev/.virtualenvs/noots/bin/
in anyway. python
and python3.5
are still both linked to python3
in that directory. Traversing to /home/liam/dev/.virtualenvs/noots/bin/
and running ./python
, ./python3
or ./python3.5
all work normally.
I am using virtualenvwrapper
if that makes a difference, however the problem seemed to occur recently, long after install virtualenv
and virtualenvwrapper
alias
on the command line to see ifpython
has been aliased. – Chitkara