【问题标题】:How can I install Anaconda aside an existing pyenv installation on OSX?除了 OSX 上现有的 pyenv 安装之外,如何安装 Anaconda?
【发布时间】:2019-12-29 14:29:55
【问题描述】:

如果这在其他地方很容易找到,我们深表歉意,但是尽管我发现了一些带有 pyenv 和 Anaconda 解释的帖子,但没有一个专门解决这个问题。但是,我经常是个白痴。

在 Mac OSX (Mojave 10.14.6) 上,我通过 Homebrew 安装了 pyenv

brew install pyenv

我很乐意安装并在 Python 版本之间切换

pyenv install ...

pyenv global ...

我通常使用 VS Code 作为我的 IDE。

我现在需要在 Anaconda 中做一些工作。我以前没用过。我可以简单地安装 Anaconda via the distribution site 并使用它的导航器,当我需要我的旧 python 版本时使用 pyenv 和 VS Code,或者我安装 Anaconda 时会不会出现冲突?如果会发生冲突,是否有在 OSX 上同时运行两者的路径?

我当然可以安装它,看看会发生什么,如果它是一团糟,可以从备份中恢复。但我希望 pyenv / Anaconda 大师可能会提出一些明智的建议,这可能会节省我数小时的清理时间。

提前致谢!

【问题讨论】:

    标签: python macos anaconda homebrew pyenv


    【解决方案1】:

    存在冲突,导致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 的输出。

    扩展重新设计

    【讨论】:

    • Simba 的回答对我非常有用(谢谢!)但是“conda env create new-env python=3.6”没有用。所做的是“conda create -n new-env python=3.6” 把它放在这里给任何想要让 pyenv 和 conda 一起工作的人。
    • @Dribbler 谢谢。我把conda env createconda create -n 搞混了。
    • 我在 Catalina 上有一个 Anaconda 不可知论设置。我只使用 zsh + pyenv + pycharm。爱它。但是我需要安装 Anaconda,这样我才能同时使用 Spyder 和 PyCharm。 Catalina 现在默认使用 zsh 而不是 bash。我可能会使用这些说明安装 Anaconda,但我可能只是手动安装 Spyder。
    • 感谢您的帮助,唯一的问题是安装后我无法使用 conda。这是因为我必须在指定我使用的 shell 的情况下运行“conda init”命令,因为这是“conda init zsh”。不确定这是因为我的 mbp 配置还是其他原因,但也许它对某些人也有帮助
    • @Bendemann 通过设置auto_activate_base = false,只有命令conda 暴露给PATH。要使用 jupyter 命令,首先从 Anaconda 激活 base 环境。 conda activate base.
    【解决方案2】:

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

    Pyenv 有自己的 virtualenv manager 供您使用。您可以随时检查哪个 virtualenv 版本处于活动状态:

    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 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 中,而不是全局 virtualenv。如果您遇到任何问题,它可以更轻松地调试环境/依赖性问题。

    【讨论】:

      猜你喜欢
      • 2017-08-08
      • 1970-01-01
      • 1970-01-01
      • 2019-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多