Anaconda Python配置脚本会与Homebrew的冲突吗?

时间:2015-06-08 07:07:58

标签: python homebrew

Anaconda Python配置脚本会与Homebrew的冲突吗?请注意,我不会在我的任何工作流程中使用这些配置脚本,我只是想知道这些配置脚本是否可以在幕后调用#34;。下面的示例输出(用户名替换为' ..'):

$ brew doctor
...
Having additional scripts in your path can confuse software installed via

如果配置脚本覆盖系统或提供的Homebrew,则自制 同名脚本。我们发现以下" config"脚本:

  /Users/../anaconda/bin/curl-config
  /Users/../anaconda/bin/freetype-config
  /Users/../anaconda/bin/libdynd-config
  /Users/../anaconda/bin/libpng-config
  /Users/../anaconda/bin/libpng15-config
  /Users/../anaconda/bin/llvm-config
  /Users/../anaconda/bin/python-config
  /Users/../anaconda/bin/python2-config
  /Users/../anaconda/bin/python2.7-config
  /Users/../anaconda/bin/xml2-config
  /Users/../anaconda/bin/xslt-config

显然,其中一些与Homebrew安装的软件包冲突。

$ ls /usr/local/bin/*-config
/usr/local/bin/Magick++-config   /usr/local/bin/libpng-config
/usr/local/bin/Magick-config     /usr/local/bin/libpng16-config
/usr/local/bin/MagickCore-config /usr/local/bin/pcre-config
/usr/local/bin/MagickWand-config /usr/local/bin/pkg-config
/usr/local/bin/Wand-config       /usr/local/bin/python-config
/usr/local/bin/freetype-config   /usr/local/bin/python2-config
/usr/local/bin/gdlib-config      /usr/local/bin/python2.7-config

2 个答案:

答案 0 :(得分:3)

你完全有可能不会发现任何问题。另一方面,你可能会有一些非常令人沮丧的。这完全取决于您使用的内容以及$PATH的排序方式。自制软件将采用$PATH中优先级高的文件;如果另一个Homebrew软件包需要使用Homebrew安装的配置文件并且它首先看到Anaconda版本,那么使用错误的版本并不是更好。从某种意义上说,这就是你告诉它要做的事情。

我的建议是保持简洁。除非你有特别的理由让Anaconda保持在$PATH,否则你应该把它弹出来alias你需要的任何东西。或者你可以通过Homebrew安装你需要的东西(例如,numpy)并完全消除Anaconda。 (实际上,那是真的我会做什么.Anaconda有更多的东西比我有任何理由倾倒到我的机器上。)

我不知道你的$PATH是什么样的,但根据我的经验,保持简短和系统化有很多优点。

答案 1 :(得分:3)

这种冲突是完全可能的。当您使用Homebrew安装依赖于Python的软件时,您希望它看到通过Homebrew安装的Python包和库,而不是Anaconda安装的那些。

我对此的解决方案不是

export PATH=$HOME/anaconda/bin:$PATH

进入.bashrc。通常,您只需使用通过Homebrew安装的Python和pip以及由pip安装的软件包。有时,当您开发方便使用Anaconda的environment management mechanismconda create -n my-env)的Python项目时,您可以暂时执行export PATH=$HOME/anaconda/bin:$PATH将其打开。从我收集的内容来看,与使用常规Python相比,使用Anaconda的一个重要好处是conda create -n my-env anaconda不会不必要地复制包安装,因为virtualenv my-env当您拥有大量虚拟环境时。如果你不介意有一定程度的重复,你可以避免一起安装Anaconda,只需使用virtualenv