问题描述
我使用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