我知道有人问过一个非常类似的问题那里,但我认为我的问题不同。
我刚刚按照 Anaconda 文档步骤(下载并执行 sh 脚本)安装了 Anaconda2,然后重新启动 shell。我之前在 /usr/bin 上安装了 python 版本,版本号为 3.4.3。我有 Ubuntu 14.04.5 LTS。
我已经创建了一个应该在 Python 2.7 上运行的环境
conda create --name myenvpy2 python=2
source activate myenvpy2
如果我看看我的路径,我会得到以下内容
echo $PATH
/home/gvo/anaconda2/envs/myenvpy2/bin:/home/gvo/anaconda2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:...
在 /home/gvo/anaconda2/envs/myenvpy2/bin 上我有正确版本的 python
ls -l
python -> python2.7
和
./python --version
Python 2.7.12 :: Continuum Analytics, Inc.
因此,当运行简单的 python 时,我会期望得到相同的结果,因为该文件夹包含一个 python 并且是 $PATH 变量中的第一个。然而:
python --version
Python 3.4.3
这实际上似乎是 Python 的 /usr/bin 版本
>>> import sys
>>> print (sys.executable)
/usr/bin/python3
我不明白为什么尽管可以在路径的第一个文件夹中找到 python,但它却要经过在后面的文件夹中找到的另一个版本的 Python。
请注意,在创建和获取 python=3 环境后,它确实使用了 anaconda 安装的正确 python 版本,这让我感到非常困惑。
python --version
Python 3.5.2 :: Continuum Analytics, Inc.
你有任何线索吗?