尽管在conda 3.8环境中运行python版本2.7

问题描述

我使用python 3.8创建并激活了一个conda环境。调用python时,它将系统地运行Python版本2.7而不是3.8。

(base) $ conda create -n py38 python=3.8

(base) $ conda activate py38

(py38) $ python --version
Python 2.7.16

(py38) $ which python
/usr/bin/python

(py38) $ which python3.8
/Users/xyz/opt/anaconda3/envs/py38/bin/python3.8

$PATH中实际上有/usr/bin,但令我惊讶的是,conda并没有在环境运行时覆盖它。此外,在任何可能的配置文件(.bashrc,.zshrc,.bash_profile,.profile或任何其他文件)中都找不到python别名。

python env处于活动状态时,如何获取py38命令以正确运行Python 3.8?

通常来说,如何使conda在将来将要创建的任何新环境中“一劳永逸”地运行正确的Python版本?

解决方法

您需要通过以下方式确定您何时进入(py38)

echo $PATH

/Users/xyz/opt/anaconda3/envs/py38/bin/usr/bin之前

然后运行

cd /Users/xyz/opt/anaconda3/envs/py38/bin
ln -fs python3.8 python3
ln -fs python3   python