在Fedora 17上安装python-igraph-0.6模块

在Fedora 17上安装python-igraph-0.6模块,python,fedora,igraph,Python,Fedora,Igraph,我尝试了一段时间为我的EPD python安装python-igraph-0.6模块。 我构建了C-core,并按照各个站点上的说明进行操作: /home/joseph/epd/bin/python setup.py build 或 /home/joseph/epd/bin/python setup.py安装 它总是产生相同的错误: 错误:命令“gcc”失败,退出状态为1 我必须做出可能的解释:要么“gcc”工作不正常(但我已经用./configure、make、make install编

我尝试了一段时间为我的EPD python安装python-igraph-0.6模块。 我构建了C-core,并按照各个站点上的说明进行操作:

/home/joseph/epd/bin/python setup.py build

/home/joseph/epd/bin/python setup.py安装
它总是产生相同的错误:

错误:命令“gcc”失败,退出状态为1
我必须做出可能的解释:要么“gcc”工作不正常(但我已经用./configure、make、make install编译了C-part),要么某个东西没有正确链接。 我已经看过类似的文章,安装了python-devel包等等。。。 但一切都没有改变

完整输出为:

[root@josephpython-igraph-0.6]#/home/joseph/epd/bin/python setup.py build
使用默认的include和库路径进行编译
如果编译失败,请编辑LIBIGRAPH_回退_*
setup.py中的变量,或在
setup.cfg指向正确的目录和库
安装IGRAPHE的C芯的位置
()
包含路径:/usr/Include/usr/local/Include
库路径:
运行构建
运行build\u py
运行build_ext
建筑“igraph.\u igraph”扩建
gcc-pthread-fno严格别名-g-O2-DNDEBUG-O2-fPIC-I/usr/include-I/usr/local/include-I.././build/include-I.././include-I/usr/local/include-I/home/joseph/epd/include/python2.7-c/common.c-o build/temp.linux-x86_64-2.7/src/common.o
gcc-pthread-fno严格别名-g-O2-DNDEBUG-O2-fPIC-I/usr/include-I/usr/local/include-I.././build/include-I.././include-I/usr/local/include-I/home/joseph/epd/include/python2.7-c src/arpackobject.c-o build/temp.linux-x86_64-2.7/src/arpackobject.o
在src/arpackobject.c中包含的文件中:23:0:
src/arpackobject.h:27:27:致命错误:igraph_arpack.h:没有这样的文件或目录
编译终止。
错误:命令“gcc”失败,退出状态为1

您收到的错误消息表明编译器找不到绑定到igraph的C核心所需的头。特别是,它缺少一个名为
igraph_arpack.h
的文件,但这不是唯一的一个,如果在这条消息之后继续编译,将会有更多的文件

igraph的Python接口的
setup.py
脚本依赖于
pkg config
来确定在哪里可以找到头,但在您的系统中,这失败了,可能是因为未安装
pkg config
本身。因此,我猜解决方案如下:

  • 确保编译完C内核后运行
    makeinstall
    。你声称你这样做了,但为了完整起见,我想我还是要提一下

  • 在系统上安装
    pkg config

  • 通过键入
    pkg-config--cflags--libs-igraph检查
    pkg-config
    是否知道已安装的igraph的C核。如果您看到一堆编译器选项打印到标准输出,您就可以了

  • 再次运行
    python setup.py install
    。这次它应该成功地调用
    pkg config
    ,获得所需的编译器选项,并成功地编译Python接口


  • 如果它仍然不工作(例如,因为您无法使
    pkg config
    工作),您可以打开
    setup.cfg
    并编辑
    include_dirs
    库_dirs
    变量;前者应指向igraph include文件所在的文件夹(通常为
    /usr/local/include/igraph
    /usr/include/igraph
    ,具体取决于C内核的安装位置),后者应该指向
    libigraph.so
    所在的文件夹。

    PS:“easy_install python igraph”会导致相同的错误消息。PS2:“yum install python igraph”会安装一些旧版本0.5.4-4,但是它不能在普通系统python或EPD python中导入。请包含
    python setup.py build
    的完整输出-您包含的行不是真正的信息。@Tamás以下是完整输出:@user1227298您应该用信息更新您的问题,而不是添加答案。是的,这是一个问题使用
    pkg配置
    。我必须更新指向igraph的路径:
    export PKG\u CONFIG\u path=/home/…
    。接下来,出现了
    python-igraph-importorror:/igraph/\u-igraph.so:undefined-symbol:igraph\u warning\u handler\u ignore
    错误,您已经在另一个博客上成功回答了该错误。谢谢!我希望您的软件包做得很好(必须比
    NetworkX
    快)。您可以使用这些信息更新igraph
    -Wiki。这将使noob用户免受一些挫折。感谢您提供软件和建议!!还有一条评论:我注意到
    yum install igraph
    安装了一个较旧的版本
    igraph-5x
    ,该版本从在命令行中键入
    igraph
    开始(使用系统python)。@admins:我不明白这个问题或评论有什么问题。有一个问题已经解决了!这很有帮助。不要介意。