拥有默认的Mac Python 2.7和Anaconda Python 3

时间:2017-08-14 23:46:21

标签: python macos python-2.7 python-3.x anaconda

我希望将Mac Python作为我的主要' python'。原因是Python网站here中的建议。我还想为我的Python3(Anaconda)添加一个单独的环境。

为此,我安装了Anaconda Python以访问Conda,然后使用以下命令为Python3创建了一个环境:

conda create -n py36 python=3.6 anaconda

当我安装Anaconda python时,它将其添加到我的.bash_profile文件中以访问所有conda命令:

# added by Anaconda3 4.4.0 installer
# export PATH="/Users/omidb/anaconda/bin:$PATH"

现在我的默认python是anaconda python,我不想这样做。

如何将默认的Mac python作为我的主要python,然后当我需要Anaconda时,只需使用source activate py36

2 个答案:

答案 0 :(得分:3)

更新的答案

经过测试后,我认为将此作为默认使用Mac Python的简单解决方案是合适的,并且只在需要时使用Conda Python。

您需要通过conda命令将PATH路径添加/移动到export环境的末尾。这应该允许您使用Mac Python作为默认值,并在调用source activate py36后仅使用Anaconda Python。

export PATH="$PATH:/Users/omidb/anaconda/bin"

路径解析

此解决方案假设您/usr/bin/中已有PATH(Mac Python所在的位置)。解决方案顺序应首先检查该目录,并假设它是PATH中的第一个目录。此外,此设置不需要/usr/local/bin中的符号链接。我不喜欢为可以使用用户资源(目录)的解决方案操纵系统级资源。

默认Python设置

将Anaconda路径移动到PATH环境变量的末尾后,您可以验证which python引用/usr/bin/python,即Mac Python的位置。默认情况下,您将在命令行运行Mac python

运行Conda Python

如前所述,当您要使用source activate py36虚拟环境时,必须致电conda。无需向/usr/local/bin添加符号链接,因为它们已通过~/anaconda/bin/提供。

此外,source activate py36(或任何其他Anaconda环境),它会将Anaconda python的相应环境路径添加到PATH环境变量的开头,(参考路径解析)将在命令行上以python运行时执行。运行which python后,您可以使用source activate py36对此进行验证。 conda还将上一个路径存储为环境变量CONDA_PATH_BACKUP

停用Conda

运行source deactivate后,系统会恢复原始路径,因此您将恢复运行Mac python

答案 1 :(得分:0)

面临同样的问题,问题太老了,但我发现最简单的方法是:


1.让我们检查默认的python版本是否指向Conda python
which python - If Conda installation updated to your bashrc or zshrc, it will show that path
  1. 运行命令:

    conda 配置 --set auto_activate_base false

这将确保当您启动终端时,Conda 不会被激活为基础

现在,如果您选中 python --versionwhich python - 它应该指向 mac 默认 python 版本

  1. 现在,只要您想使用 conda,所有 conda 命令都可以通过 conda <command>

    使用
  2. 使用 conda create --name venv 创建虚拟环境并使用 conda activate <venv_name>

    激活它

现在,我可以使用 conda 所需的不同 python 版本,并将默认 python 版本用作系统默认值