2015-03-30 3 views
0

Я пытаюсь представить простой граф, созданный с помощью библиотеки igraph. Я уже установил cairo и их соответствующие привязки для Anaconda (2.7.8) (я могу видеть cairo, когда я печатаю help ('modules')) после этих сообщений here и here. Однако, когда я запускаю свой код в возвышенном тексте 2, я не вижу изображения, а вместо этого получаю sh: open: command not found. Я что-то упускаю? Это мой кодНевозможно увидеть график, созданный python igraph в OS X 10.10.2

import igraph 


g = igraph.Graph([(0,1), (0,2), (2,3), (3,4), (4,2), (2,5), (5,0), (6,3), (5,6)]) 
igraph.summary(g) 

print g.degree() 
print g.edge_betweenness() 


# Drawing a graph 
layout = g.layout("kk") 
igraph.plot(g, layout = layout) 
+0

Попробуйте использовать: из импорта igraph *, а затем непосредственно использовать график (g, layout = layout). – sera

ответ

0

Отсутствует команда open. Эта команда используется igraph для открытия созданного графика (попробуйте open some_image.png в терминале, вы должны получить ту же ошибку). Я не уверен, как получить команду open на mac, но если это не включено по умолчанию, это похоже на ошибку в igraph, которая пытается ее использовать.

Вы можете попробовать ноутбук ipython (conda install ipython-notebook; ipython notebook, а затем добавить свой код в открывшемся браузере), в котором будут отображаться графики inline или попытаться сохранить и открыть сюжет самостоятельно в finder.

+0

Команда 'open' является частью OS X, поэтому ее не следует упускать из машины OP. Тем не менее, он находится в '/ usr/bin', и может случиться так, что оболочка, запущенная Sublime Text (в которой она запускает код Python), не включает'/usr/bin' в пути. –

0

Sublime Text 2 открывает оболочку в фоновом режиме для запуска вашего кода на Python. Эта оболочка, похоже, ищет исполняемые файлы только в /bin (и, возможно, /sbin). Команда open (которую igraph должен открыть Preview.app для показа графика) находится в /usr/bin, и, вероятно, поэтому сюжет не работает из Sublime Text.

Попробуйте создать файл с именем .igraphrc в вашей домашней директории со следующим содержанием:

[apps] 
image_viewer = /usr/bin/open 

Этот файл сообщает igraph использовать /usr/bin/open, чтобы показать сюжет, а не просто open. Дайте мне знать, если это будет сделано для вас - если да, я сделаю патч для следующей версии.

+0

не работает. Я получаю тот же «sh: open: command not found» Любое другое предложение? – Paul

+0

Итак, я установил Sublime Text 2 и попытался показать сюжет, используя функцию 'plot'. Он работал отлично, поэтому я уверен, что с вашей средой что-то не так. Работает ли команда 'open' из командной строки? Например, попробуйте 'open/Applications/iTunes.app' из терминала. –

+0

Он работает, когда я набрал 'open/Applications/iTunes.app', но когда я попытался построить код igraph (визуализировать), он говорит' ConfigParser.MissingSectionHeaderError: Файл не содержит заголовков разделов. файл: /Users/username/.igraphrc, строка: 1 '{\\ rtf1 \\ ansi \\ ansicpg1252 \\ cocoartf1344 \\ cocoasubrtf720 \ n'' – Paul

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