本文介绍了导入连字时出错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在Python中导入iggraph时,我收到一个错误(见下文)。由于iggraph不是Anaconda的一部分,我执行了下面列出的安装步骤。

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

无法导入连字

'' 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-help)brew install pkg-config
  4. 通过自制软件安装iggraph:brew install igraph
  5. 链接:brew install homebrew/science/igraph
  6. pip install python-igraph

以下是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

    安装来自HomeBREW/HomeBREW-Science的iggraph==>安装签名依赖项:GMP==>正在下载https://homebrew.bintray.com/bottles/gmp-6.0.0a.yosemite.bottle。已下载:/Library/Caches/Homebrew/gmp-6.0.0a.yosemite.bottle.tar.gz==>浇注GMP-6.0.0a.yosemite.bottle.tar.gz错误:BREW链接步骤未成功完成该公式已构建,但未符号链接到/usr/local无法符号链接包含/gmp.h目标/usr/local/Include/gmp.h已经存在了。您可能希望将其删除:Rm‘/usr/local/Include/gmp.h’

    要强制链接并覆盖所有冲突文件,请执行以下操作:BREW链接--覆盖GMP

    要列出要删除的所有文件,请执行以下操作:BREW链接--覆盖--预演GMP

    可能发生冲突的文件包括:/usr/local/Include/gmp.h/usr/local/lib/libgmp.a==>摘要🍺/USR/LOCAL/CELA/GMP/6.0.0a:15个文件,3.2M==>安装iggraph==>下载https://homebrew.bintray.com/bottles-science/igraph-0.7.1.yosemi已下载:/Library/Caches/Homebrew/igraph-0.7.1.yosemite.bottle.tar.gz==>浇注图-0.7.1.yosemite.bottle.tar.gz🍺/USR/LOCAL/Celler/iggraph/0.7.1:83个文件,6.4M

    • "错误:brew link步骤未成功完成"意味着什么?
    • 我看不到任何与/usr/local/lib/libglpk.35.dylib相关的内容--当我现在调用python时,出现与以前相同的错误。

在Evert的帮助下解决方案

感谢Evert的额外回答。有了这些内容,我现在可以导入iggraph了。注意三点:

  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 
    

    我不确定这有多重要,因为事实证明,我可以在没有它的情况下运行iggraph。但是,URLhttps://github.com/Homebrew/homebrew-sciene/为我生成了404错误。

  2. brew search glpkbrew search igraph都返回指向homebrew/science/...

  3. 的一行输出
  4. brew link --overwrite gmp表示它创建了11个符号链接。我想这就解决了我的问题,所以现在我可以很好地在python中导入iggraph了。

感谢您的帮助。

推荐答案

缺少glpk依赖项,因为在安装igraph时,仅搜索默认程序包。glpkigraph一样,生活在一个额外的名为homebrew/science的自制资源库中。您可以通过"点击"来自动访问该存储库:

brew tap homebrew/science
现在,还将搜索此存储库中包含的所有包。要进行确认,请尝试查看以下两个命令是否只返回包名称:

brew search glpk

brew search igraph

在重新安装igraph之前,您必须修复gmp的链接问题;这只是由于在卸载步骤中未完全卸载igraph及其依赖项造成的。为此,您可以遵循HOMEBREW的建议:

brew link --overwrite gmp

(您正在用以前安装的且仍部分安装的gmp程序包覆盖gmp程序包;它们是相同的,因此不会造成任何损害。)


现在,您应该能够安装iggraph:

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

如果brew install igraph没有安装glpk(即您没有看到类似"==>正在安装iggraph依赖:glpk"的消息),您只需单独安装即可:

brew install glpk

或多或少地说,您现在应该已经有了一个工作的iggraph安装(而且,因为您从未卸载过python-iggraph,所以它应该仍然可以工作)。

这篇关于导入连字时出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-30 00:42