проблемы при построении графиков с помощью igraph на Python 3.7 - PullRequest
0 голосов
/ 24 марта 2020

Я столкнулся с проблемой, как указано выше. Я видел другие вопросы, похожие на мои, но никакие ответы не решили мою проблему.

Я работаю над Windowd 10 x64 по этому пути: C: / Users / Marco / PycharmProjects / ortuproject / Teoria Dei Grafi_script con NetworkX.py ";

ниже моего терминала на Pycharm COmmunity edition.

(venv) C:\Users\Marco\PycharmProjects\ortuproject>pip install python_igraph-0.8.0-cp37-cp37m-win_amd64.whl
Requirement already satisfied: python-igraph==0.8.0 from file:///C:/Users/Marco/PycharmProjects/ortuproject/python_igraph-0.8.0-cp37-cp37m-win_amd64.whl in c:\users\marco\pycharmprojects\or
tuproject\venv\lib\site-packages (0.8.0)
Requirement already satisfied: texttable>=1.6.2 in c:\users\marco\pycharmprojects\ortuproject\venv\lib\site-packages (from python-igraph==0.8.0) (1.6.2)

(venv) C:\Users\Marco\PycharmProjects\ortuproject>pip install cffi
Collecting cffi
  Using cached cffi-1.14.0-cp37-cp37m-win_amd64.whl (176 kB)
Requirement already satisfied: pycparser in c:\users\marco\pycharmprojects\ortuproject\venv\lib\site-packages (from cffi) (2.20)
Installing collected packages: cffi
Successfully installed cffi-1.14.0

(venv) C:\Users\Marco\PycharmProjects\ortuproject>pip install cairocffi
Collecting cairocffi
  Using cached cairocffi-1.1.0.tar.gz (68 kB)
Requirement already satisfied: cffi>=1.1.0 in c:\users\marco\pycharmprojects\ortuproject\venv\lib\site-packages (from cairocffi) (1.14.0)
Requirement already satisfied: setuptools>=39.2.0 in c:\users\marco\pycharmprojects\ortuproject\venv\lib\site-packages (from cairocffi) (46.1.1)
Requirement already satisfied: pycparser in c:\users\marco\pycharmprojects\ortuproject\venv\lib\site-packages (from cffi>=1.1.0->cairocffi) (2.20)
Installing collected packages: cairocffi
    Running setup.py install for cairocffi ... done
Successfully installed cairocffi-1.1.0

СЕЙЧАС: когда я запускаю этот код

import igraph as ig

g = ig.Graph()
g.vs["name"] = ["Alice", "Bob", "Claire", "Dennis", "Esther", "Frank", "George"]
g.vs["age"] = [25, 31, 18, 47, 22, 23, 50]
g.vs["gender"] = ["f", "m", "f", "m", "f", "m", "m"]
g.es["is_formal"] = [False, False, True, True, True, False, True, False, False]
layout = 'random'
ig.plot(g, layout = layout)

это результат

C:\Users\Marco\PycharmProjects\ortuproject\venv\Scripts\python.exe "C:/Users/Marco/PycharmProjects/ortuproject/Teoria Dei Grafi_script con NetworkX.py"
Traceback (most recent call last):
  File "C:/Users/Marco/PycharmProjects/ortuproject/Teoria Dei Grafi_script con NetworkX.py", line 3, in <module>
    import igraph as ig
  File "C:\Users\Marco\PycharmProjects\ortuproject\venv\lib\site-packages\igraph\__init__.py", line 35, in <module>
    from igraph.clustering import *
  File "C:\Users\Marco\PycharmProjects\ortuproject\venv\lib\site-packages\igraph\clustering.py", line 36, in <module>
    from igraph.drawing.colors import ClusterColoringPalette
  File "C:\Users\Marco\PycharmProjects\ortuproject\venv\lib\site-packages\igraph\drawing\__init__.py", line 30, in <module>
    from igraph.drawing.graph import DefaultGraphDrawer
  File "C:\Users\Marco\PycharmProjects\ortuproject\venv\lib\site-packages\igraph\drawing\graph.py", line 27, in <module>
    from igraph.drawing.edge import ArrowEdgeDrawer
  File "C:\Users\Marco\PycharmProjects\ortuproject\venv\lib\site-packages\igraph\drawing\edge.py", line 17, in <module>
    cairo = find_cairo()
  File "C:\Users\Marco\PycharmProjects\ortuproject\venv\lib\site-packages\igraph\drawing\utils.py", line 413, in find_cairo
    module = __import__(module_name)
  File "C:\Users\Marco\PycharmProjects\ortuproject\venv\lib\site-packages\cairocffi\__init__.py", line 50, in <module>
    ('libcairo.so', 'libcairo.2.dylib', 'libcairo-2.dll'))
  File "C:\Users\Marco\PycharmProjects\ortuproject\venv\lib\site-packages\cairocffi\__init__.py", line 45, in dlopen
    raise OSError(error_message)  # pragma: no cover
OSError: no library called "cairo" was found
no library called "libcairo-2" was found
cannot load library 'libcairo.so': error 0x7e
cannot load library 'libcairo.2.dylib': error 0x7e
cannot load library 'libcairo-2.dll': error 0x7e

Process finished with exit code 1

Я искал все эти проблемы один за другим но все решения касаются установки GTK, pycairo, и они не работают.

любые идеи? спасибо!

1 Ответ

1 голос
/ 24 марта 2020

Проблема в том, что сама библиотека cairo C по-прежнему отсутствует, следуйте инструкциям для ее установки. На самом деле проще установить python-igraph в Anaconda, которая автоматически устанавливает pycairo, включая необходимую библиотеку cairo C.

Обратите внимание, что недавно появилась поддержка Форум открыт специально для igraph: https://igraph.discourse.group/.

...