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
答案 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 mechanism(conda create -n my-env
)的Python项目时,您可以暂时执行export PATH=$HOME/anaconda/bin:$PATH
将其打开。从我收集的内容来看,与使用常规Python相比,使用Anaconda的一个重要好处是conda create -n my-env anaconda
不会不必要地复制包安装,因为virtualenv my-env
当您拥有大量虚拟环境时。如果你不介意有一定程度的重复,你可以避免一起安装Anaconda,只需使用virtualenv
。