提问者:小点点

如何在OSX上安装Anaconda除了现有的pyenv安装?


如果这在别处很容易找到,我表示最诚挚的歉意,但尽管我发现了一些关于pyenv和Anaconda解释的帖子,但没有一篇专门针对这个问题。然而,我经常是个白痴。

在MacOSX(Mojave10.14.6)上,我通过自制软件安装了pyenv

brew安装pyenv

我很高兴地安装了Python版本,并使用

pyenv安装

pyenv全局...

我通常使用VS代码作为IDE。

我现在需要在蟒蛇做一些工作。我以前没用过。我可以简单地通过分发网站安装Anaconda并使用它的导航器,当我需要我的旧python版本时使用pyenv和VS Code,或者当我安装Anaconda时会有冲突吗?如果有冲突,是否有在OSX上运行两者的路径?

我可以安装它,当然,看看会发生什么,如果它是一个大烂摊子,从备份恢复。但是我希望一个pyenv/蟒蛇大师可能会有一些明智的建议,可以节省我几个小时的清理时间。

提前感谢!


共2个答案

匿名用户

存在冲突,导致默认情况下,pyenvconda尝试公开全局Python环境。

我一直在一起使用这些工具,我找到的最佳解决方案是

  1. 始终初始化pyenv,使用pyenv global设置的Python作为默认Python
  2. 只公开命令conda,但不激活任何环境

由于您的计算机上已安装了pyenv,因此只需安装Anaconda即可。

brew cask install anaconda

初始化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

完成。

注意:在此设置之后,默认Python是由pyenv global设置的。使用pyenvconda分别管理环境。

管理虚拟环境的示例。

# virtual environments from pyenv
pyenv install 3.6.9
pyenv virtualenv 3.6.9 new-env
pyenv activate new-env
pyenv deactive
# You can also use `pyenv local`


# virtual environments from conda
conda create -n new-env python=3.6
conda env list
conda activate new-env
conda deactivate

pyenv的默认环境位置为~/。pyenv/versions

默认环境位置为conda,检查输出从conda info

  • 康达入门

匿名用户

不太熟悉conda,但我确实经常使用pyenv。

Pyenv有自己的虚拟环境管理器,您可以使用它。您可以随时通过以下方式检查哪个虚拟环境版本处于活动状态:

pyenv versions

您应该看到如下内容:

  system
  20190814_125309
* 3.7.4 (set by /home/tzhuang/.pyenv/version)
  3.7.4/envs/20190814_125309
  3.7.4/envs/buildmaster-sandbox
  3.7.4/envs/HEAD
  3.7.4/envs/myenv
  3.7.4/envs/sandbox
  buildmaster-sandbox
  HEAD
  myenv
  sandbox

其中,*表示当前活动的virtualenv(可以使用您提到的pyenv global进行设置)。您可以通过以下方式手动激活任何virtualenv:

pyenv shell

如。

pyenv shell sandbox

然后运行pyenv版本给出:

  system
  20190814_125309
  3.7.4 (set by /home/tzhuang/.pyenv/version)
  3.7.4/envs/20190814_125309
  3.7.4/envs/buildmaster-sandbox
  3.7.4/envs/HEAD
  3.7.4/envs/myenv
  3.7.4/envs/sandbox
  buildmaster-sandbox
  HEAD
  myenv
* sandbox

一般来说,将任何你想要的包安装到一个新的虚拟环境中而不是全局虚拟环境中是个好主意。如果遇到任何环境/依赖项问题,它可以更容易地调试。