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

How to set up Anaconda so that it doesn't affect other environments like 'homebrew python pip' and Pyenv on MacOS?

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

我发现的大多数解决方案是 'Anaconda-centric',即使用 Anaconda 作为主要 python 管理器并设置 conda env 用于自制程序等

但是,我正在寻找一种类似于 'Homebrew-centric' 的解决方案,并将 Anaconda 设置为补充。 Anaconda 的设置方式应该是,无论何时使用 conda,它都会使用自己的 Python,自己的包。并保持系统的其余部分不变。

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

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

/Users/username/miniconda3/bin/conda init

将 conda 初始化添加到您的 .bash_profile。默认情况下,这会激活基础环境,所以你可以 所以环境默认不激活:

conda config --set auto_activate_base false

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