提示brew doctor时出现现有的配置脚本

时间:2013-05-03 20:50:05

标签: macos configuration path homebrew

我对Homebrew和Anaconda安装完全不熟悉,我希望有人可以在执行brew医生后帮我解决问题。我正在使用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

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

2 个答案:

答案 0 :(得分:3)

tl; dr :你无法解决这个问题,但你可能会忽略它

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

问题是brew带来了自己的libpng版本,所以如果安装了两个版本,那么在安装其他软件时,brew可能会选择错误的libpng-config

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

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

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

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

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

    brew install python
    

    然后安装,例如numpy,简单地说:

    pip install numpy
    

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

答案 1 :(得分:0)

我相信我已经找到了解决此问题的相当安全的方法(如果您使用的是鱼壳)。

  1. 安装Anaconda,但不要添加到PATH
  2. 在PATH的某个位置(在我的情况下是〜/ bin)中,将符号链接添加到conda二进制文件中
  3. mkdir〜/ bin
  4. cd〜/ bin;在-s〜/ anaconda3 / bin / conda中。

在〜/ .config / fish中添加如下内容

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

请注意,这是鱼的conda shell配置-使用conda activate some-env切换到anaconda环境,而不是bash风格的source activate some-envbrew doctor应该表明此问题不再存在。

通过此设置,您可以使用conda命令切换到由conda管理的环境,而不必担心自制软件管理的python /依赖环境之间的泄漏交互。

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