2015-03-10 4 views
3

Я установил py2cairo, используя варево, но продолжаю получать ошибки при попытке построить с помощью igraph. Я получаю следующее сообщение об ошибке:python - графический график недоступен (cairo уже установлен)

>>> import igraph as ig 
>>> from igraph import * 
>>> UG = ig.Graph() 
>>> UG.add_vertex('a') 
>>> UG.add_vertex('b') 
>>> UG.add_vertex('c') 
>>> UG.add_vertex('d') 
>>> UG.add_edge('a','d') 
>>> UG.add_edge('a','c') 
>>> UG.add_edge('b','c') 
>>> UG.add_edge('b','a') 

>>> layout = UG.layout_kamada_kawai() 
>>> plot(UG,layout = layout) 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File ".../anaconda/lib/python2.7/site-packages/igraph/drawing/__init__.py", line 427, in plot 
    result = Plot(target, bbox, background="white") 
    File ".../anaconda/lib/python2.7/site-packages/igraph/drawing/__init__.py", line 122, in __init__ 
    self._surface_was_created = not isinstance(target, cairo.Surface) 
    File ".../anaconda/lib/python2.7/site-packages/igraph/drawing/utils.py", line 396, in __getattr__ 
    raise TypeError("plotting not available") 
TypeError: plotting not available 

ответ

2

brew вероятно устанавливает py2cairo для своего Python, в то время как вы работаете igraph под Anaconda Python. Модуль, установленный для одного дистрибутива Python на вашем компьютере, не будет отображаться волшебным образом под другим дистрибутивом Python, поэтому вам придется либо получить py2cairo для Anaconda Python, либо скомпилировать интерфейс Python для igraph для Python для Homebrew.

+0

Спасибо за помощь! Я искал для установки py2cairo с Anaconda, и я получил следующее - http://stackoverflow.com/questions/11491268/install-pycairo-in-virtualenv Я попытался установить Каир с «пункта установить cairocffi» в установка не была ошибок, но я не смог назвать «импорта cairocffi» из модуля питона Другого варианта я нашел, чтобы установить Каир с варевом - является единственным вариантом для установки «py2cairo» удаления Анаконды питона и установить питон с пивом? – curiousgeorgia

+2

Вероятно, та же проблема; когда вы вводите 'pip install cairocffi', он устанавливает' cairocffi' в один из ваших дистрибутивов Python, а затем вы пытаетесь импортировать его из другого. Что касается вашего последнего вопроса: нет, есть много других способов; например, я скомпилировал Python самостоятельно, используя «pyenv», а затем я скомпилировал как «igraph», так и «cairo» для этой конкретной установки Python. Вам нужно только убедиться, что при вызове 'pip install whatever' вы вызываете« правый »' pip', т. Е. Тот, который принадлежит дистрибутиву Python, который вы собираетесь использовать. –

+0

Итак, если Anaconda Python предоставляет свою собственную копию 'pip', обязательно вызывайте этот конкретный' pip', когда вы вызываете 'pip install cairocffi', а не тот, который поставляется с OS X по умолчанию. –

1

попробуйте обновить переменную PYTHONPATH, например. (укажите свое имя пользователя вместо NNNN):

export PYTHONPATH=/Users/NNNN/anaconda/bin/python:$PYTHONPATH 
0

У меня была та же проблема. Я попытался установить pycairo, py2cairo, но график igraph не сработает.

Следующая решена igraph замышляет вопрос:

sudo pip install cairocffi 

Вместо pycairo я использовал cairocffi и это решить мою проблему.

Смежные вопросы