为什么 Virtualenv 继续使用全局 python 二进制文件?

Why does Virtualenv keep using the global python binary?

我已经设置了一个 python virtualenv 但它没有使用虚拟 python 二进制文件。

root@localhost# pwd
/root/project
root@localhost# ls
env  src
root@localhost# source env/bin/activate
(env)root@localhost# which python
/usr/bin/python
(env)root@localhost# which python3
/usr/bin/python3

我不知道为什么要这样做。

编辑:

我有翻译

(env)root@localhost# pwd
/root/project/env/bin
(env)root@localhost# ls
activate       activate_this.py  pip     python
activate.csh   easy_install      pip3    python3
activate.fish  easy_install-3.4  pip3.4  python3.4

编辑 2: 我可能应该提到我在 Cloud 9 上使用 Ubuntu 14.04.3。据我所知它应该可以工作。

编辑 3:

这是我的路径

root@localhost# echo $PATH
/root/env/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin

我知道发生了什么。自创建以来,我已经移动了 env 目录。 $PATH 的添加是 "outdated"。最重要的是,不要移动 virtualenv 目录。

您可能 renamed/moved 它 – 默认情况下 virtualenv 是不可重定位的。见

http://virtualenv.readthedocs.org/en/latest/userguide.html#making-environments-relocatable

了解更多信息。