导入igraph时出错

时间:2015-05-28 11:37:18

标签: python-2.7 installation igraph anaconda

在python中导入igraph时,出现错误(见下文)。由于igraph不是蟒蛇的一部分,我执行了下面列出的安装步骤。

什么是libglpk.35.dylib,我该如何加载它,为什么会出现这个问题?

igraph无法导入

'' import igraph
'' Traceback (most recent call last):
''   File "<stdin>", line 1, in <module>
''   File "/Users/claushaslauer/anaconda/lib/python2.7/site-packages/igraph/__init__.py", line 34, in <module>
    '' from igraph._igraph import *
'' ImportError: dlopen(/Users/claushaslauer/anaconda/lib/python2.7/site-packages/igraph/_igraph.so, 2): Library not loaded: /usr/local/lib/libgmp.10.dylib
''   Referenced from: /usr/local/lib/libglpk.35.dylib
''   Reason: image not found

安装步骤

  1. 通过ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  2. 安装自制程序
  3. 安装pkg-config(通过igraph-helpbrew install pkg-config
  4. 通过自制软件安装igraph:brew install igraph
  5. link:brew install homebrew/science/igraph
  6. pip install python-igraph
  7. 遵循Evert的建议:

    1. brew uninstall igraph
    2. brew uninstall gmp
    3. brew uninstall glkp - Error: No such keg: /usr/local/Cellar/glkp
    4. brew install igraph

      ==&GT;从homebrew / homebrew-science安装igraph ==&GT;安装igraph依赖:gmp ==&GT;正在下载https://homebrew.bintray.com/bottles/gmp-6.0.0a.yosemite.bottle。 已下载:/ Library/Caches/Homebrew/gmp-6.0.0a.yosemite.bottle.tar.gz ==&GT;浇注gmp-6.0.0a.yosemite.bottle.tar.gz 错误:brew链接步骤未成功完成 建立了公式,但没有符号链接到/ usr / local 无法使用符号链接包含/ gmp.h 目标/usr/local/include/gmp.h 已经存在。您可能想要删除它:   rm&#39; /usr/local/include/gmp.h'

      强制链接并覆盖所有冲突的文件:   brew link --overwrite gmp

      列出要删除的所有文件:   brew链接--overwrite --dry-run gmp

      可能存在冲突的文件: /usr/local/include/gmp.h /usr/local/lib/libgmp.a ==&GT;摘要   /usr/local/Cellar/gmp/6.0.0a:15个文件,3.2M ==&GT;安装igraph ==&GT;正在下载https://homebrew.bintray.com/bottles-science/igraph-0.7.1.yosemi 已下载:/ Library/Caches/Homebrew/igraph-0.7.1.yosemite.bottle.tar.gz ==&GT;浇注igraph-0.7.1.yosemite.bottle.tar.gz   /usr/local/Cellar/igraph/0.7.1:83个文件,6.4M

      • &#34;错误:brew link步骤未成功完成&#34;暗示?
      • 我没有看到与/usr/local/lib/libglpk.35.dylib相关的任何内容 - 当我现在调用python时,发生了与之前相同的错误。
    5. 使用Evert帮助的解决方案

      感谢Evert的额外答案。有了这个内容,我现在可以导入igraph。有三点需要注意:

      1. 当我说brew tap homebrew/sciene时,使用我的github凭据登录,我得

        remote: Repository not found.
        fatal: repository 'https://github.com/Homebrew/homebrew-sciene/' not found
        Error: Failure while executing: git clone https://github.com/Homebrew/homebrew-sciene /usr/local/Library/Taps/homebrew/homebrew-sciene --depth=1 
        

        我不确定这是多么重要,事实证明,如果没有这个,我可以运行igraph。但是,网址https://github.com/Homebrew/homebrew-sciene/会为我生成404错误。

      2. brew search glpkbrew search igraph都返回指向homebrew/science/...的一行输出

      3. brew link --overwrite gmp说它创建了11个符号链接。我认为这就解决了我的问题所以现在我可以在python中导入igraph。

      4. 感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

缺少glpk依赖项,因为在安装igraph时,只搜索默认包。 glpk就像igraph一样,在一个名为homebrew/science的额外自制仓库中生活。您可以通过“点击”它自动访问该存储库:

brew tap homebrew/science

现在,还会搜索此存储库中包含的所有包。要确认,请尝试查看以下两个命令是否仅返回包名称:

brew search glpk

brew search igraph

在重新安装igraph之前,您必须修复gmp的链接问题;这只是自制程序在卸载步骤中没有完全卸载igraph及其依赖项的结果。为此,您可以按照自制软件的建议:

brew link --overwrite gmp

(您正在使用之前仍然部分安装的gmp软件包覆盖gmp软件包;它们是相同的,因此不会造成任何损害。)

现在,您应该可以安装igraph:

brew install igraph

如果这也提供了有关链接的警告/错误,请使用与--overwrite相同的gmp选项。

如果brew install igraph未安装glpk(即您没有看到“==&gt;安装igraph依赖:glpk”等消息),您可以单独安装:< / p>

brew install glpk

给出或采取一个小细节,你现在应该有一个工作igraph安装(并且,因为你从来没有卸载python-igraph,这应该仍然有效。)