【问题标题】:Failing to install python-igraph无法安装 python-igraph
【发布时间】:2015-04-10 16:57:20
【问题描述】:

我正在尝试安装 python-igraph。在我运行sudo pip install python-igraph 之后,我得到了以下日志:

Downloading/unpacking python-igraph
  Downloading python-igraph-0.7.1-1.tar.gz (375kB): 375kB downloaded
  Running setup.py egg_info for package python-igraph

Installing collected packages: python-igraph
  Running setup.py install for python-igraph
    Cannot find the C core of igraph on this system using pkg-config.
    We will now try to download and compile the C core from scratch.
    Version number of the C core: 0.7.1-1

    Version 0.7.1-1 of the C core of igraph is not found among the nightly builds.
    Use the --c-core-version switch to try a different version.

    Could not download and compile the C core of igraph.

    WARNING: we were not able to detect where igraph is installed on
    your machine (if it is installed at all). We will use the fallback
    library and include pathss hardcoded in setup.py and hope that the
    C core of igraph is installed there.

    If the compilation fails and you are sure that igraph is installed
    on your machine, adjust the following two variables in setup.py
    accordingly and try again:

    - LIBIGRAPH_FALLBACK_INCLUDE_DIRS
    - LIBIGRAPH_FALLBACK_LIBRARY_DIRS

Build type: dynamic extension                                    
    Include path: /usr/include/igraph /usr/local/include/igraph
    Library path:
    Linked dynamic libraries: igraph
    Linked static libraries:
    Extra compiler options:
    Extra linker options:
    building 'igraph._igraph' extension
    x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/igraph -I/usr/local/include/igraph -I../../build/include -I../../include -I/usr/local/include/igraph -I/usr/include/igraph -I/usr/include/python2.7 -c src/igraphmodule.c -o build/temp.linux-x86_64-2.7/src/igraphmodule.o
    src/igraphmodule.c:25:20: fatal error: igraph.h: No such file or directory
     #include <igraph.h>
                        ^
    compilation terminated.
    error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
    Complete output from command /usr/bin/python -c "import setuptools;__file__='/tmp/pip_build_root/python-igraph/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-cTa4Ba-record/install-record.txt --single-version-externally-managed:
    running install

running build

running build_py

creating build

creating build/lib.linux-x86_64-2.7

creating build/lib.linux-x86_64-2.7/igraph

copying igraph/formula.py -> build/lib.linux-x86_64-2.7/igraph

copying igraph/__init__.py -> build/lib.linux-x86_64-2.7/igraph

copying igraph/configuration.py -> build/lib.linux-x86_64-2.7/igraph

copying igraph/summary.py -> build/lib.linux-x86_64-2.7/igraph

copying igraph/layout.py -> build/lib.linux-x86_64-2.7/igraph

copying igraph/cut.py -> build/lib.linux-x86_64-2.7/igraph

copying igraph/datatypes.py -> build/lib.linux-x86_64-2.7/igraph

copying igraph/utils.py -> build/lib.linux-x86_64-2.7/igraph

copying igraph/clustering.py -> build/lib.linux-x86_64-2.7/igraph

copying igraph/statistics.py -> build/lib.linux-x86_64-2.7/igraph

copying igraph/matching.py -> build/lib.linux-x86_64-2.7/igraph

copying igraph/compat.py -> build/lib.linux-x86_64-2.7/igraph

creating build/lib.linux-x86_64-2.7/igraph/test

copying igraph/test/operators.py -> build/lib.linux-x86_64-2.7/igraph/test

copying igraph/test/isomorphism.py -> build/lib.linux-x86_64-2.7/igraph/test

copying igraph/test/__init__.py -> build/lib.linux-x86_64-2.7/igraph/test

copying igraph/test/colortests.py -> build/lib.linux-x86_64-2.7/igraph/test

copying igraph/test/conversion.py -> build/lib.linux-x86_64-2.7/igraph/test

copying igraph/test/homepage.py -> build/lib.linux-x86_64-2.7/igraph/test

copying igraph/test/attributes.py -> build/lib.linux-x86_64-2.7/igraph/test

copying igraph/test/vertexseq.py -> build/lib.linux-x86_64-2.7/igraph/test

copying igraph/test/structural.py -> build/lib.linux-x86_64-2.7/igraph/test

copying igraph/test/separators.py -> build/lib.linux-x86_64-2.7/igraph/test

copying igraph/test/atlas.py -> build/lib.linux-x86_64-2.7/igraph/test

copying igraph/test/layouts.py -> build/lib.linux-x86_64-2.7/igraph/test

copying igraph/test/rng.py -> build/lib.linux-x86_64-2.7/igraph/test

copying igraph/test/games.py -> build/lib.linux-x86_64-2.7/igraph/test

copying igraph/test/utils.py -> build/lib.linux-x86_64-2.7/igraph/test

copying igraph/test/iterators.py -> build/lib.linux-x86_64-2.7/igraph/test

copying igraph/test/edgeseq.py -> build/lib.linux-x86_64-2.7/igraph/test

copying igraph/test/indexing.py -> build/lib.linux-x86_64-2.7/igraph/test

copying igraph/test/spectral.py -> build/lib.linux-x86_64-2.7/igraph/test

copying igraph/test/cliques.py -> build/lib.linux-x86_64-2.7/igraph/test

copying igraph/test/flow.py -> build/lib.linux-x86_64-2.7/igraph/test

copying igraph/test/basic.py -> build/lib.linux-x86_64-2.7/igraph/test

copying igraph/test/generators.py -> build/lib.linux-x86_64-2.7/igraph/test

copying igraph/test/matching.py -> build/lib.linux-x86_64-2.7/igraph/test

copying igraph/test/foreign.py -> build/lib.linux-x86_64-2.7/igraph/test

copying igraph/test/bipartite.py -> build/lib.linux-x86_64-2.7/igraph/test

copying igraph/test/decomposition.py -> build/lib.linux-x86_64-2.7/igraph/test

creating build/lib.linux-x86_64-2.7/igraph/app

copying igraph/app/__init__.py -> build/lib.linux-x86_64-2.7/igraph/app

copying igraph/app/shell.py -> build/lib.linux-x86_64-2.7/igraph/app

creating build/lib.linux-x86_64-2.7/igraph/drawing

copying igraph/drawing/__init__.py -> build/lib.linux-x86_64-2.7/igraph/drawing

copying igraph/drawing/edge.py -> build/lib.linux-x86_64-2.7/igraph/drawing

copying igraph/drawing/shapes.py -> build/lib.linux-x86_64-2.7/igraph/drawing

copying igraph/drawing/coord.py -> build/lib.linux-x86_64-2.7/igraph/drawing

copying igraph/drawing/metamagic.py -> build/lib.linux-x86_64-2.7/igraph/drawing

copying igraph/drawing/utils.py -> build/lib.linux-x86_64-2.7/igraph/drawing

copying igraph/drawing/text.py -> build/lib.linux-x86_64-2.7/igraph/drawing

copying igraph/drawing/graph.py -> build/lib.linux-x86_64-2.7/igraph/drawing

copying igraph/drawing/colors.py -> build/lib.linux-x86_64-2.7/igraph/drawing

copying igraph/drawing/vertex.py -> build/lib.linux-x86_64-2.7/igraph/drawing

copying igraph/drawing/baseclasses.py -> build/lib.linux-x86_64-2.7/igraph/drawing

creating build/lib.linux-x86_64-2.7/igraph/remote

copying igraph/remote/__init__.py -> build/lib.linux-x86_64-2.7/igraph/remote

copying igraph/remote/nexus.py -> build/lib.linux-x86_64-2.7/igraph/remote

copying igraph/remote/gephi.py -> build/lib.linux-x86_64-2.7/igraph/remote

creating build/lib.linux-x86_64-2.7/igraph/vendor

copying igraph/vendor/__init__.py -> build/lib.linux-x86_64-2.7/igraph/vendor

copying igraph/vendor/texttable.py -> build/lib.linux-x86_64-2.7/igraph/vendor

running build_ext

Cannot find the C core of igraph on this system using pkg-config.

We will now try to download and compile the C core from scratch.

Version number of the C core: 0.7.1-1



Version 0.7.1-1 of the C core of igraph is not found among the nightly builds.

Use the --c-core-version switch to try a different version.



Could not download and compile the C core of igraph.



WARNING: we were not able to detect where igraph is installed on

your machine (if it is installed at all). We will use the fallback

library and include pathss hardcoded in setup.py and hope that the

C core of igraph is installed there.



If the compilation fails and you are sure that igraph is installed

on your machine, adjust the following two variables in setup.py

accordingly and try again:



- LIBIGRAPH_FALLBACK_INCLUDE_DIRS

- LIBIGRAPH_FALLBACK_LIBRARY_DIRS



Build type: dynamic extension                                    

Include path: /usr/include/igraph /usr/local/include/igraph

Library path:

Linked dynamic libraries: igraph

Linked static libraries:

Extra compiler options:

Extra linker options:

building 'igraph._igraph' extension

creating build/temp.linux-x86_64-2.7

creating build/temp.linux-x86_64-2.7/src

x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/igraph -I/usr/local/include/igraph -I../../build/include -I../../include -I/usr/local/include/igraph -I/usr/include/igraph -I/usr/include/python2.7 -c src/igraphmodule.c -o build/temp.linux-x86_64-2.7/src/igraphmodule.o

src/igraphmodule.c:25:20: fatal error: igraph.h: No such file or directory

 #include <igraph.h>

                    ^

compilation terminated.

error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

----------------------------------------
Cleaning up...
Command /usr/bin/python -c "import setuptools;__file__='/tmp/pip_build_root/python-igraph/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-cTa4Ba-record/install-record.txt --single-version-externally-managed failed with error code 1 in /tmp/pip_build_root/python-igraph
Storing complete log in /home/sergey/.pip/pip.log

如果我使用sudo python setup.py install 进行操作,我也会遇到类似的情况。

显然问题出在 C 内核上。

如何安装它的正确版本以便安装 igraph?

我使用 Linux Mint 16 64 位,python 2.7。

【问题讨论】:

    标签: linux python-2.7 igraph


    【解决方案1】:

    在编译 python-igraph 之前你需要 igraph 库。

    尝试sudo apt-get install -y libigraph0-dev 并再次尝试安装 python-igraph。

    【讨论】:

    • 我有同样的错误。 windows对应的库是什么?
    • 我有同样的错误,但我是mac用户。知道我能做什么吗?
    • 在 ubuntu 18.04 中我仍然遇到同样的错误。关于如何解决这个问题的任何想法?
    【解决方案2】:

    使用 Ubuntu 16 和 Python3。

    pip3 install python-igraph
    

    导致错误构建整体。不过,

    sudo apt-get install python3-igraph
    

    工作得很好。

    【讨论】:

      【解决方案3】:

      对于windows用户

      1. Download非官方python-igraph(根据igraph official installation instruction),请根据环境(python版本,64bit vs. 32bit)选择合适的.whl文件。
      2. 打开命令控制台和cd 进入.whl 的文件夹
      3. 执行以下命令:

        pip install python_igraph-0.7.1.post.xxx.whl
        

      【讨论】:

      • 嗨,我已经下载了 python_igraph-0.7.1.post6-cp34-none-win_amd64.whl python_igraph-0.7.1.post6-cp35-none-win_amd64.whl 并尝试安装它们pip install 在运行 Python 3.6.2 的 Windows 10 虚拟机上(安装了 pycairo)。我收到此错误消息 python_igraph-0.7.1.post6-cp35-none-win_amd64.whl is not a supported wheel on this platform。这是否意味着不支持 Python 3.6?
      • CP是编译器版本,看来你下载的版本不对。你需要下载 cp36 而不是 cp34
      【解决方案4】:

      在 ubuntu 16.04 中:

      对于python 2:

      apt-get install build-essential python-dev libxml2 libxml2-dev zlib1g-dev
      
      

      对于python 3:

      apt-get install build-essential python3-dev libxml2 libxml2-dev zlib1g-dev
      

      解决了我的问题。

      【解决方案5】:

      对于 Ubuntu 用户:

      将igraph的存储库添加到apt:

      sudo add-apt-repository ppa:igraph/ppa
      

      然后更新并安装python-igraph包:

      sudo apt-get update
      sudo apt-get install python-igraph
      

      【讨论】:

      • 我想将它用于python3。这些命令发生了什么变化?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-10
      • 2018-09-02
      • 2016-08-01
      相关资源
      最近更新 更多