【发布时间】:2017-05-22 07:34:00
【问题描述】:
我遇到了一个问题,python 在 virtualenv 中找不到 pip 安装的模块。
我缩小了范围,发现当我在激活我的 virtualenv 时调用 python 时,它仍然到达 /usr/bin/python 而不是 /home/liam/dev/.virtualenvs/noots/bin/python。
当我在 virtualenv 中使用 which python 时,我得到:
/home/liam/dev/.virtualenvs/noots/bin/python
当我在 virtualenv 中查找我的 $PATH 变量时,我得到:
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
但当我实际运行 python 时,它会转到 /usr/bin/python
为了让我更困惑,如果我运行python3.5,它会从正确的目录(即/home/liam/dev/.virtualenvs/noots/bin/python3.5)抓取python3.5
无论如何我都没有碰过/home/liam/dev/.virtualenvs/noots/bin/。 python 和 python3.5 仍然都链接到该目录中的 python3。遍历到/home/liam/dev/.virtualenvs/noots/bin/,运行./python、./python3或./python3.5都正常。
我正在使用virtualenvwrapper,如果这会有所不同,但是问题似乎是最近出现的,在安装virtualenv 和virtualenvwrapper 很久之后
【问题讨论】:
-
在命令行运行
alias,看看python是否已经被别名化了。 -
啊,谢谢!这就是问题所在。
-
请发布解决方案,因为这是一个有趣的问题。
标签: python linux virtualenv virtualenvwrapper