Dri*_*ler 15 python macos homebrew anaconda pyenv
如果这在其他地方很容易找到,我深表歉意,但尽管我发现了许多带有 pyenv 和 Anaconda 解释的帖子,但没有一个专门解决这个问题。然而,我经常是个白痴。
在 Mac OSX (Mojave 10.14.6) 上,我通过 Homebrew 安装了 pyenv
brew install pyenv
我很高兴地安装并在 Python 版本之间切换
pyenv install ...
和
pyenv global ...
我通常使用 VS Code 作为我的 IDE。
我现在需要在 Anaconda 中做一些工作。我以前没用过。我可以简单地通过分发站点安装 Anaconda并使用它的导航器,当我需要我的旧 python 版本时使用 pyenv 和 VS Code,或者当我安装 Anaconda 时会发生冲突吗?如果会发生冲突,是否有在 OSX 上运行两者的路径?
当然,我可以安装它并查看会发生什么,如果出现大问题,可以从备份中恢复。但我希望 pyenv / Anaconda 大师可能有一些明智的建议,这可能会为我节省数小时的清理时间。
提前致谢!
Sim*_*mba 23
存在冲突,导致两者pyenv并conda尝试默认公开全局 Python 环境。
我一直在使用这些工具,我找到的最佳解决方案是
pyenv,使用 Python 设置pyenv global为默认 Pythonconda但不从中激活任何环境既然pyenv已经安装在你的机器上,你只需要安装Anaconda。
brew cask install anaconda
Run Code Online (Sandbox Code Playgroud)
初始化conda而不从conda.
# init conda, the following command write scripts into your shell init file automatically
conda init
# disable init of env "base"
conda config --set auto_activate_base false
Run Code Online (Sandbox Code Playgroud)
完毕。
注意:此设置后,默认 Python 是由pyenv global. 使用pyenv和conda分别管理环境。
管理虚拟环境的示例。
# init conda, the following command write scripts into your shell init file automatically
conda init
# disable init of env "base"
conda config --set auto_activate_base false
Run Code Online (Sandbox Code Playgroud)
的默认环境位置pyenv是~/.pyenv/versions。
的默认环境位置conda,检查conda info.
小智 5
对于Simba提到的解决方案,还有一种更简单的解决方案。
您可以使用pyenv-virtualenv
它允许您直接从 pyenv 管理虚拟环境(包括 conda 环境)。
这是一个示例场景:
.zshrc.pyenv virtualenv anaconda3-2022.05 my-conda-envpyenv local my-conda-env.python-version文件引用了my-conda-env,每次我导航到终端中的该文件夹时, my-conda-env 都会自动激活,并在我导航出项目文件夹时停用(这是因为我们加载了 pyenv-virtualenv 的 init )。PS 根据我的经验,您不需要在 shell 配置文件中放置自动禁用 anaconda 基本环境的行。无论如何,基本环境并没有为我自动激活。
注意:还要注意 shell 配置文件中三个添加项的位置:pyenv、pyenv-virtualenv 和 anaconda。文件中稍后放置的文件是最后加载的文件,因此它对 PATH 的调整将最先进行。