如何从igraph包中获得聚类

时间:2015-12-06 13:56:57

标签: python python-3.x igraph

我试图从文件中计算规范化的互信息。我用pip install igraph安装了igraph我可以导入它,当我print(igraph)时,我得到module 'igraph' from '/usr/local/lib/python3.4/dist-packages/igraph/__init__.py'。 我想从成员列表中生成Clustering对象,但我无法导入模块群集。我尝试from igraph import clustering,但我得到的只是:

Traceback (most recent call last):
  File "calculate_nmi.py", line 3, in <module>
    from igraph import clustering
ImportError: cannot import name 'clustering'

我也试过用github安装它: sudo pip install git+https://github.com/igraph/python-igraph.git 但我得到的只是:

Collecting git+https://github.com/igraph/python-igraph.git
  Cloning https://github.com/igraph/python-igraph.git to /tmp/pip-88ko7d9y-build
Installing collected packages: python-igraph
  Running setup.py install for python-igraph
    Complete output from command /usr/bin/python3 -c "import setuptools, tokenize;__file__='/tmp/pip-88ko7d9y-build/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-brw8l1hz-record/install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_py
    creating build
    creating build/lib.linux-x86_64-3.4
    creating build/lib.linux-x86_64-3.4/igraph
    copying igraph/utils.py -> build/lib.linux-x86_64-3.4/igraph
    copying igraph/summary.py -> build/lib.linux-x86_64-3.4/igraph
    copying igraph/statistics.py -> build/lib.linux-x86_64-3.4/igraph
    copying igraph/matching.py -> build/lib.linux-x86_64-3.4/igraph
    copying igraph/layout.py -> build/lib.linux-x86_64-3.4/igraph
    copying igraph/formula.py -> build/lib.linux-x86_64-3.4/igraph
    copying igraph/datatypes.py -> build/lib.linux-x86_64-3.4/igraph
    copying igraph/cut.py -> build/lib.linux-x86_64-3.4/igraph
    copying igraph/configuration.py -> build/lib.linux-x86_64-3.4/igraph
    copying igraph/compat.py -> build/lib.linux-x86_64-3.4/igraph
    copying igraph/clustering.py -> build/lib.linux-x86_64-3.4/igraph
    copying igraph/__init__.py -> build/lib.linux-x86_64-3.4/igraph
    creating build/lib.linux-x86_64-3.4/igraph/test
    copying igraph/test/walks.py -> build/lib.linux-x86_64-3.4/igraph/test
    copying igraph/test/vertexseq.py -> build/lib.linux-x86_64-3.4/igraph/test
    copying igraph/test/utils.py -> build/lib.linux-x86_64-3.4/igraph/test
    copying igraph/test/structural.py -> build/lib.linux-x86_64-3.4/igraph/test
    copying igraph/test/spectral.py -> build/lib.linux-x86_64-3.4/igraph/test
    copying igraph/test/separators.py -> build/lib.linux-x86_64-3.4/igraph/test
    copying igraph/test/rng.py -> build/lib.linux-x86_64-3.4/igraph/test
    copying igraph/test/operators.py -> build/lib.linux-x86_64-3.4/igraph/test
    copying igraph/test/matching.py -> build/lib.linux-x86_64-3.4/igraph/test
    copying igraph/test/layouts.py -> build/lib.linux-x86_64-3.4/igraph/test
    copying igraph/test/iterators.py -> build/lib.linux-x86_64-3.4/igraph/test
    copying igraph/test/isomorphism.py -> build/lib.linux-x86_64-3.4/igraph/test
    copying igraph/test/indexing.py -> build/lib.linux-x86_64-3.4/igraph/test
    copying igraph/test/homepage.py -> build/lib.linux-x86_64-3.4/igraph/test
    copying igraph/test/generators.py -> build/lib.linux-x86_64-3.4/igraph/test
    copying igraph/test/games.py -> build/lib.linux-x86_64-3.4/igraph/test
    copying igraph/test/foreign.py -> build/lib.linux-x86_64-3.4/igraph/test
    copying igraph/test/flow.py -> build/lib.linux-x86_64-3.4/igraph/test
    copying igraph/test/edgeseq.py -> build/lib.linux-x86_64-3.4/igraph/test
    copying igraph/test/decomposition.py -> build/lib.linux-x86_64-3.4/igraph/test
    copying igraph/test/conversion.py -> build/lib.linux-x86_64-3.4/igraph/test
    copying igraph/test/colortests.py -> build/lib.linux-x86_64-3.4/igraph/test
    copying igraph/test/cliques.py -> build/lib.linux-x86_64-3.4/igraph/test
    copying igraph/test/bipartite.py -> build/lib.linux-x86_64-3.4/igraph/test
    copying igraph/test/basic.py -> build/lib.linux-x86_64-3.4/igraph/test
    copying igraph/test/attributes.py -> build/lib.linux-x86_64-3.4/igraph/test
    copying igraph/test/atlas.py -> build/lib.linux-x86_64-3.4/igraph/test
    copying igraph/test/__init__.py -> build/lib.linux-x86_64-3.4/igraph/test
    creating build/lib.linux-x86_64-3.4/igraph/app
    copying igraph/app/shell.py -> build/lib.linux-x86_64-3.4/igraph/app
    copying igraph/app/__init__.py -> build/lib.linux-x86_64-3.4/igraph/app
    creating build/lib.linux-x86_64-3.4/igraph/drawing
    copying igraph/drawing/vertex.py -> build/lib.linux-x86_64-3.4/igraph/drawing
    copying igraph/drawing/utils.py -> build/lib.linux-x86_64-3.4/igraph/drawing
    copying igraph/drawing/text.py -> build/lib.linux-x86_64-3.4/igraph/drawing
    copying igraph/drawing/shapes.py -> build/lib.linux-x86_64-3.4/igraph/drawing
    copying igraph/drawing/metamagic.py -> build/lib.linux-x86_64-3.4/igraph/drawing
    copying igraph/drawing/graph.py -> build/lib.linux-x86_64-3.4/igraph/drawing
    copying igraph/drawing/edge.py -> build/lib.linux-x86_64-3.4/igraph/drawing
    copying igraph/drawing/coord.py -> build/lib.linux-x86_64-3.4/igraph/drawing
    copying igraph/drawing/colors.py -> build/lib.linux-x86_64-3.4/igraph/drawing
    copying igraph/drawing/baseclasses.py -> build/lib.linux-x86_64-3.4/igraph/drawing
    copying igraph/drawing/__init__.py -> build/lib.linux-x86_64-3.4/igraph/drawing
    creating build/lib.linux-x86_64-3.4/igraph/remote
    copying igraph/remote/nexus.py -> build/lib.linux-x86_64-3.4/igraph/remote
    copying igraph/remote/gephi.py -> build/lib.linux-x86_64-3.4/igraph/remote
    copying igraph/remote/__init__.py -> build/lib.linux-x86_64-3.4/igraph/remote
    creating build/lib.linux-x86_64-3.4/igraph/vendor
    copying igraph/vendor/texttable.py -> build/lib.linux-x86_64-3.4/igraph/vendor
    copying igraph/vendor/__init__.py -> build/lib.linux-x86_64-3.4/igraph/vendor
    Fixing build/lib.linux-x86_64-3.4/igraph/utils.py build/lib.linux-x86_64-3.4/igraph/summary.py build/lib.linux-x86_64-3.4/igraph/statistics.py build/lib.linux-x86_64-3.4/igraph/matching.py build/lib.linux-x86_64-3.4/igraph/layout.py build/lib.linux-x86_64-3.4/igraph/formula.py build/lib.linux-x86_64-3.4/igraph/datatypes.py build/lib.linux-x86_64-3.4/igraph/cut.py build/lib.linux-x86_64-3.4/igraph/configuration.py build/lib.linux-x86_64-3.4/igraph/compat.py build/lib.linux-x86_64-3.4/igraph/clustering.py build/lib.linux-x86_64-3.4/igraph/__init__.py build/lib.linux-x86_64-3.4/igraph/test/walks.py build/lib.linux-x86_64-3.4/igraph/test/vertexseq.py build/lib.linux-x86_64-3.4/igraph/test/utils.py build/lib.linux-x86_64-3.4/igraph/test/structural.py build/lib.linux-x86_64-3.4/igraph/test/spectral.py build/lib.linux-x86_64-3.4/igraph/test/separators.py build/lib.linux-x86_64-3.4/igraph/test/rng.py build/lib.linux-x86_64-3.4/igraph/test/operators.py build/lib.linux-x86_64-3.4/igraph/test/matching.py build/lib.linux-x86_64-3.4/igraph/test/layouts.py build/lib.linux-x86_64-3.4/igraph/test/iterators.py build/lib.linux-x86_64-3.4/igraph/test/isomorphism.py build/lib.linux-x86_64-3.4/igraph/test/indexing.py build/lib.linux-x86_64-3.4/igraph/test/homepage.py build/lib.linux-x86_64-3.4/igraph/test/generators.py build/lib.linux-x86_64-3.4/igraph/test/games.py build/lib.linux-x86_64-3.4/igraph/test/foreign.py build/lib.linux-x86_64-3.4/igraph/test/flow.py build/lib.linux-x86_64-3.4/igraph/test/edgeseq.py build/lib.linux-x86_64-3.4/igraph/test/decomposition.py build/lib.linux-x86_64-3.4/igraph/test/conversion.py build/lib.linux-x86_64-3.4/igraph/test/colortests.py build/lib.linux-x86_64-3.4/igraph/test/cliques.py build/lib.linux-x86_64-3.4/igraph/test/bipartite.py build/lib.linux-x86_64-3.4/igraph/test/basic.py build/lib.linux-x86_64-3.4/igraph/test/attributes.py build/lib.linux-x86_64-3.4/igraph/test/atlas.py build/lib.linux-x86_64-3.4/igraph/test/__init__.py build/lib.linux-x86_64-3.4/igraph/app/shell.py build/lib.linux-x86_64-3.4/igraph/app/__init__.py build/lib.linux-x86_64-3.4/igraph/drawing/vertex.py build/lib.linux-x86_64-3.4/igraph/drawing/utils.py build/lib.linux-x86_64-3.4/igraph/drawing/text.py build/lib.linux-x86_64-3.4/igraph/drawing/shapes.py build/lib.linux-x86_64-3.4/igraph/drawing/metamagic.py build/lib.linux-x86_64-3.4/igraph/drawing/graph.py build/lib.linux-x86_64-3.4/igraph/drawing/edge.py build/lib.linux-x86_64-3.4/igraph/drawing/coord.py build/lib.linux-x86_64-3.4/igraph/drawing/colors.py build/lib.linux-x86_64-3.4/igraph/drawing/baseclasses.py build/lib.linux-x86_64-3.4/igraph/drawing/__init__.py build/lib.linux-x86_64-3.4/igraph/remote/nexus.py build/lib.linux-x86_64-3.4/igraph/remote/gephi.py build/lib.linux-x86_64-3.4/igraph/remote/__init__.py build/lib.linux-x86_64-3.4/igraph/vendor/texttable.py build/lib.linux-x86_64-3.4/igraph/vendor/__init__.py
    Skipping optional fixer: buffer
    Skipping optional fixer: idioms
    Skipping optional fixer: set_literal
    Skipping optional fixer: ws_comma
    Fixing build/lib.linux-x86_64-3.4/igraph/utils.py build/lib.linux-x86_64-3.4/igraph/summary.py build/lib.linux-x86_64-3.4/igraph/statistics.py build/lib.linux-x86_64-3.4/igraph/matching.py build/lib.linux-x86_64-3.4/igraph/layout.py build/lib.linux-x86_64-3.4/igraph/formula.py build/lib.linux-x86_64-3.4/igraph/datatypes.py build/lib.linux-x86_64-3.4/igraph/cut.py build/lib.linux-x86_64-3.4/igraph/configuration.py build/lib.linux-x86_64-3.4/igraph/compat.py build/lib.linux-x86_64-3.4/igraph/clustering.py build/lib.linux-x86_64-3.4/igraph/__init__.py build/lib.linux-x86_64-3.4/igraph/test/walks.py build/lib.linux-x86_64-3.4/igraph/test/vertexseq.py build/lib.linux-x86_64-3.4/igraph/test/utils.py build/lib.linux-x86_64-3.4/igraph/test/structural.py build/lib.linux-x86_64-3.4/igraph/test/spectral.py build/lib.linux-x86_64-3.4/igraph/test/separators.py build/lib.linux-x86_64-3.4/igraph/test/rng.py build/lib.linux-x86_64-3.4/igraph/test/operators.py build/lib.linux-x86_64-3.4/igraph/test/matching.py build/lib.linux-x86_64-3.4/igraph/test/layouts.py build/lib.linux-x86_64-3.4/igraph/test/iterators.py build/lib.linux-x86_64-3.4/igraph/test/isomorphism.py build/lib.linux-x86_64-3.4/igraph/test/indexing.py build/lib.linux-x86_64-3.4/igraph/test/homepage.py build/lib.linux-x86_64-3.4/igraph/test/generators.py build/lib.linux-x86_64-3.4/igraph/test/games.py build/lib.linux-x86_64-3.4/igraph/test/foreign.py build/lib.linux-x86_64-3.4/igraph/test/flow.py build/lib.linux-x86_64-3.4/igraph/test/edgeseq.py build/lib.linux-x86_64-3.4/igraph/test/decomposition.py build/lib.linux-x86_64-3.4/igraph/test/conversion.py build/lib.linux-x86_64-3.4/igraph/test/colortests.py build/lib.linux-x86_64-3.4/igraph/test/cliques.py build/lib.linux-x86_64-3.4/igraph/test/bipartite.py build/lib.linux-x86_64-3.4/igraph/test/basic.py build/lib.linux-x86_64-3.4/igraph/test/attributes.py build/lib.linux-x86_64-3.4/igraph/test/atlas.py build/lib.linux-x86_64-3.4/igraph/test/__init__.py build/lib.linux-x86_64-3.4/igraph/app/shell.py build/lib.linux-x86_64-3.4/igraph/app/__init__.py build/lib.linux-x86_64-3.4/igraph/drawing/vertex.py build/lib.linux-x86_64-3.4/igraph/drawing/utils.py build/lib.linux-x86_64-3.4/igraph/drawing/text.py build/lib.linux-x86_64-3.4/igraph/drawing/shapes.py build/lib.linux-x86_64-3.4/igraph/drawing/metamagic.py build/lib.linux-x86_64-3.4/igraph/drawing/graph.py build/lib.linux-x86_64-3.4/igraph/drawing/edge.py build/lib.linux-x86_64-3.4/igraph/drawing/coord.py build/lib.linux-x86_64-3.4/igraph/drawing/colors.py build/lib.linux-x86_64-3.4/igraph/drawing/baseclasses.py build/lib.linux-x86_64-3.4/igraph/drawing/__init__.py build/lib.linux-x86_64-3.4/igraph/remote/nexus.py build/lib.linux-x86_64-3.4/igraph/remote/gephi.py build/lib.linux-x86_64-3.4/igraph/remote/__init__.py build/lib.linux-x86_64-3.4/igraph/vendor/texttable.py build/lib.linux-x86_64-3.4/igraph/vendor/__init__.py
    Skipping optional fixer: buffer
    Skipping optional fixer: idioms
    Skipping optional fixer: set_literal
    Skipping optional fixer: ws_comma
    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.post6
    We will also try: 0.7.1

    Using temporary directory: /tmp/pip-88ko7d9y-build/tmp/igraph._wvb5ess
    Downloading igraph-0.7.1.tar.gz... 100.00%checking for a BSD-compatible install... /usr/bin/install -c
    checking whether build environment is sane... yes
    checking for a thread-safe mkdir -p... /bin/mkdir -p
    checking for gawk... gawk
    checking whether make sets $(MAKE)... yes
    checking whether make supports nested variables... yes
    checking for gcc... gcc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables...
    checking whether we are cross compiling... no
    checking for suffix of object files... o
    checking whether we are using the GNU C compiler... yes
    checking whether gcc accepts -g... yes
    checking for gcc option to accept ISO C89... none needed
    checking whether gcc understands -c and -o together... yes
    checking for style of include used by make... GNU
    checking dependency style of gcc... gcc3
    checking for g++... no
    checking for c++... no
    checking for gpp... no
    checking for aCC... no
    checking for CC... no
    checking for cxx... no
    checking for cc++... no
    checking for cl.exe... no
    checking for FCC... no
    checking for KCC... no
    checking for RCC... no
    checking for xlC_r... no
    checking for xlC... no
    checking whether we are using the GNU C++ compiler... no
    checking whether g++ accepts -g... no
    checking dependency style of g++... none
    configure: error: no C++ compiler found or it cannot create executables

    Extracting igraph-0.7.1.tar.gz...
    Configuring igraph...
    Could not download and compile the C core of igraph.


    ----------------------------------------
Command "/usr/bin/python3 -c "import setuptools, tokenize;__file__='/tmp/pip-88ko7d9y-build/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-brw8l1hz-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-88ko7d9y-build

1 个答案:

答案 0 :(得分:0)

这里有两个不同的问题:

  1. PyPI上的igraph包不是igraph库的Python接口;您需要pip install python-igraph而不是pip install igraph

  2. 当您尝试从Github安装igraph时,pip install的输出清楚地表明“没有找到C ++编译器,或者它无法创建可执行文件”。您需要在计算机上安装正在运行的C ++编译器。