10

我对 Homebrew 和 Anaconda 安装完全陌生,我希望有人可以在执行 brew doctor 后帮助我解决警告。我在 Snow Leopard 10.6.8 上运行。警告如下:

Warning: "config" scripts exist outside your system or Homebrew directories.
`./configure` scripts often look for *-config scripts to determine if
software packages are installed, and what additional flags to use when
compiling and linking.

Having additional scripts in your path can confuse software installed via
Homebrew if the config script overrides a system or Homebrew provided
script of the same name. We found the following "config" scripts:

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

我执行了 brew --config 并且以下显示了配置(希望它有助于解决问题):

HOMEBREW_VERSION: 0.9.4
ORIGIN: (none)
HEAD: (none)
HOMEBREW_PREFIX: /usr/local
HOMEBREW_CELLAR: /usr/local/Cellar
CPU: dual-core 64-bit penryn
OS X: 10.6.8-i386
Xcode: 3.2.6
GCC-4.0: build 5494
GCC-4.2: build 5666
LLVM-GCC: build 2335
Clang: 1.7 build 77
X11: 2.7.4 => /opt/X11
System Ruby: 1.8.7-358
Perl: /usr/bin/perl
Python: /Users/user.name/anaconda/bin/python
Ruby: /usr/bin/ruby => /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby

非常感谢您的帮助。谢谢你。

4

2 回答 2

7

tl;博士:你不能真正解决这个问题,但你可以忽略它

那些以 -config 结尾的脚本为在安装期间想要链接到它们的其他包提供信息。让我们举个libpng例子。如果 brew (或其他任何东西)编译依赖于libpng它的包,则可能会执行libpng-config以找出有关该库的一些详细信息。

问题是 brew 自带了自己的版本,libpng所以如果两者都安装了,brew 可能会libpng-config在安装其他软件时出错。

您现在可以做以下四件事之一:

  1. 如果您确信使用 homebrew 安装的东西不会与 anaconda 附带的东西冲突,请忽略该警告。

  2. 编辑您的~/.bash_profile并从 PATH 中删除 anaconda。如果这样做,则每次要运行 anaconda python 时都必须指定完整路径。

  3. 将这些 anaconda 配置文件移到一边(从您的 PATH 中移出,例如移到config子目录中)。这可能会阻止其他软件链接到 anaconda 组件,但如果您打算保持 anaconda 隔离,应该没问题。

  4. 完全删除 anaconda(只需删除文件夹)并安装 brew 的 python 版本。这也将为您提供pip,它应该可以轻松重新安装 anaconda 附带的大多数其他软件包。

    IE

    brew install python
    

    然后安装例如 numpy,只需:

    pip install numpy
    

    (使 brew 的 python 成为您的默认添加export PATH="/usr/local/bin:$PATH"到您的~/.bash_profile

于 2013-08-08T13:50:39.023 回答
0

我相信我已经找到了一种相当安全的方法来处理这个问题(如果你使用的是鱼壳)。

  1. 安装 Anaconda 但不要添加到 PATH
  2. 将符号链接添加到 PATH 上某处的 conda 二进制文件(在我的情况下为 ~/bin)
  3. mkdir ~/bin
  4. cd ~/bin; ln -s ~/anaconda3/bin/conda 。

将如下部分添加到 ~/.config/fish

set -gx PATH $PATH ~/bin
source ~/anaconda3/etc/fish/conf.d/conda.fish

请注意,此激活是 fish 的 conda shell 配置——用于conda activate some-env切换到 anaconda 环境而不是 bash 样式source activate some-envbrew doctor应该表明这个问题不再存在。

此设置允许您使用 conda 命令切换到 conda 管理的环境,而无需担心自制管理的 python/依赖项环境之间的泄漏交互。

要记住的一件事是在 conda 环境处于活动状态时避免运行自制软件,因为您的路径将为 conda 环境设置并且对于自制软件的使用不安全。

于 2018-11-29T15:49:03.770 回答