如何设置 Anaconda 以使其不影响 MacOS 上的其他环境,例如“homebrew python pip”和 Pyenv?

zrf*_*ank 5 homebrew python-3.x anaconda pyenv

众所周知,在 macOS 上安装 Anaconda 会导致其他广泛使用的包/环境管理器(如 Homebrew、Pyenv、Virtualenv 等)出现问题。

我发现的大多数解决方案都是“以 Anaconda 为中心的”,即使用 Anaconda 作为主要的 python 管理器和conda env自制软件等的设置。

但是,我正在寻找一种“以 Homebrew 为中心”的解决方案,并将 Anaconda 设置为一种恭维。Anaconda 的设置方式应该是在conda使用时,它可以使用自己的 Python 和自己的包。并保持系统的其余部分不变。

这种解决方案的动机是因为,例如,当一个人的主要工作流程使用自制软件 Python3 ( python3)、自制软件 pip ( pip3) 和 Pyenv ( pyenv) with requirement.txt. 偶尔在需要项目时使用 Anaconda。

dar*_*ith 5

我建议使用 Miniconda,而不是使用 Anaconda,它只包含 Python 和 conda(以及一些支持包)。Miniconda 默认不包含 Anaconda 中的所有包,但它们都可以安装(使用conda install anaconda)。一旦你下载Miniconda,你可以把它安装到你的主文件夹/Users/username/miniconda3。在安装过程中,系统会询问您是否要添加一些初始化代码到您的.bash_profile. 选择yes或(如果您选择no),那么您可以运行

/Users/username/miniconda3/bin/conda init
Run Code Online (Sandbox Code Playgroud)

将 conda 初始化添加到您的.bash_profile. 默认情况下,这将激活基础环境,因此您可以更改默认设置,以便默认情况下不激活环境:

conda config --set auto_activate_base false
Run Code Online (Sandbox Code Playgroud)

您可能需要打开一个新终端才能使用该conda命令。然后,当您想使用 conda 环境时,您可以使用conda activate该环境,但否则,conda 的 Python 不应在您的PATH.