【问题标题】:How do I use Conda in on Homebrew Python system?如何在 Homebrew Python 系统中使用 Conda?
【发布时间】:2016-07-28 20:46:40
【问题描述】:

我使用 Homebrew 作为我的包总经理,并使用它的 Python 和 pip 以及 virtualenvs 进行软件开发。出于各种原因,我想继续使用这种结构,但我需要一些使用 Conda 更容易安装 (apparently) 的软件。

我是否可以继续使用 Homebrew+pip+virtualev 并将 Conda 添加到组合中,最好是在 virtualenv 中,这样它就不会影响我的整个系统?如果是这样,我该如何设置和使用 Conda?


(Python:2.7.11(自制);pip:8.1.1;setuptools:20.6.7;OS X:10.11.4 (x86_64))

【问题讨论】:

    标签: python pip virtualenv homebrew conda


    【解决方案1】:

    您可以安装 Anaconda。试试brew cask install anaconda。按照屏幕上的说明,您可能希望将 export PATH=/usr/local/anaconda3/bin:"$PATH" 添加到您的 ~/.bash_profile 或 ~/.zsh 文件中。

    使用 anaconda,您可以create python2 和 python3 的虚拟环境。您可以设置环境,然后使用 source activate py27 之类的命令,假设 py27 是您在 anaconda 中的 python2.7 中创建的环境。它甚至还有 GUI 和 CLI 版本。

    每次我打开终端时,我的 .bash_profile 和 .zshrc 都会被获取。如果您在上面附加source 行,它将每次加载您需要的版本。每个 anaconda 环境也有自己的 pip。 有了 Anaconda 之后,您就不再需要 virtualenv,但您可以根据需要保留它。

    如果您想运行Anaconda Navigator GUI,您可以运行它:open /usr/local/anaconda3/Anaconda-Navigator.app。您可以使用它来管理/创建环境和 pip 包等。

    【讨论】:

    • 查看stackoverflow.com/questions/17386880/…了解如何source activate
    • 我必须将它添加到我的 .bash_profile 或 .zshrc export PATH="/usr/local/anaconda3/bin/:$PATH" 才能让 source activate py36 工作
    • 安装conda时,最后一步是将conda路径放在~/.bash_profile中。即使您不使用 Bash,也请说是,这样您就可以看到正确的 $PATH 设置是什么。
    • 如果您使用brewconda 安装相同的软件怎么办 - 启动时哪个版本优先?依赖关系呢?如果我用brew 安装了一些java 程序,但是conda java 将被优先考虑,它会工作吗?我从未尝试在 PATH 中同时运行 ,因为我担心这些类型的冲突。
    【解决方案2】:

    我可能是错的,但听起来操作员正试图弄清楚如何为 anaconda 创建一个虚拟环境 而不会覆盖所有现有的 python 东西。至少这就是我试图做的事情,这让我来到了这里。如果您真的必须在自己的环境中拥有 anaconda,我设法找到了一个相当不雅的解决方案:

    正如 devssh 所说,您可以执行 brew cask install anaconda不要将目录添加到您的路径,否则它将覆盖您的 python 2.7 并导致很多悲伤。而是创建一个这样的虚拟环境(我使用虚拟环境包装器):

    mkvirtualenv -p /usr/local/anaconda3/bin/python anaconda_env
    

    现在将所有东西从 anaconda bin 移到你的 virtualenv bin 中:

    cp /usr/local/anaconda3/bin/* /Users/<you>/.virtualenvs/anaconda_env/bin/
    

    最后一个是必要的,因为 anaconda 依赖项没有与环境 pip 一起安装,所以它不知道在哪里寻找它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-31
      • 1970-01-01
      • 1970-01-01
      • 2018-12-21
      • 2012-02-11
      • 1970-01-01
      • 1970-01-01
      • 2022-10-23
      相关资源
      最近更新 更多