问题描述
在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
安装步骤
- 通过
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
安装自制软件 - 安装pkg-config(通过igraph-help)
brew install pkg-config
- 通过自制软件安装iggraph:
brew install igraph
- 链接:
brew install homebrew/science/igraph
pip install python-igraph
以下是Evert的建议:
brew uninstall igraph
brew uninstall gmp
brew uninstall glkp
--Error: No such keg: /usr/local/Cellar/glkp
安装来自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.4Mbrew install igraph
- "错误:
brew link
步骤未成功完成"意味着什么? - 我看不到任何与
/usr/local/lib/libglpk.35.dylib
相关的内容--当我现在调用python时,出现与以前相同的错误。
- "错误:
在Evert的帮助下解决方案
感谢Evert的额外回答。有了这些内容,我现在可以导入iggraph了。注意三点:
当我说
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。但是,URL
https://github.com/Homebrew/homebrew-sciene/
为我生成了404错误。brew search glpk
和brew search igraph
都返回指向homebrew/science/...
的一行输出brew link --overwrite gmp
表示它创建了11个符号链接。我想这就解决了我的问题,所以现在我可以很好地在python中导入iggraph了。
感谢您的帮助。
推荐答案
缺少glpk
依赖项,因为在安装igraph
时,仅搜索默认程序包。glpk
和igraph
一样,生活在一个额外的名为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,所以它应该仍然可以工作)。
这篇关于导入连字时出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!