【问题标题】:Unable to see a plot produced by python igraph in OS X 10.10.2无法在 OS X 10.10.2 中看到由 python igraph 生成的图
【发布时间】:2015-03-31 22:51:08
【问题描述】:

我正在尝试可视化使用 igraph 库创建的简单图形。在herehere 之后,我已经为 Anaconda (2.7.8) 安装了 cairo 及其各自的绑定(当我输入 help('modules') 时我可以看到 cairo)。但是,当我在 sublime text 2 中运行我的代码时,我看不到图像,而是得到sh: open: command not found。我错过了什么吗?这是我的代码

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)

【问题讨论】:

  • 尝试使用:from igraph import * 然后直接使用plot(g, layout = layout)。

标签: python visualization igraph anaconda


【解决方案1】:

Sublime Text 2 在后台打开一个 shell 来运行你的 Python 代码。这个shell 似乎只在/bin(也许/sbin)中寻找可执行文件。 open 命令(igraph 需要打开 Preview.app 以显示绘图)位于 /usr/bin,这可能就是绘图在 Sublime Text 中不起作用的原因。

尝试在您的主目录中创建一个名为 .igraphrc 的文件,其内容如下:

[apps]
image_viewer = /usr/bin/open

这个文件告诉 igraph 使用/usr/bin/open 来显示绘图,而不仅仅是open。让我知道它是否为您修复了绘图 - 如果是,我将为下一个版本提交补丁。

【讨论】:

  • 它不起作用。我得到了同样的sh: open: command not found 还有其他建议吗?
  • 好的,所以我安装了 Sublime Text 2 并尝试使用 igraph 的 plot 函数显示绘图。它工作得很好,所以我很确定你的环境有问题。 open 命令是否从命令行工作?例如,从终端尝试open /Applications/iTunes.app
  • 当我输入 open /Applications/iTunes.app 时它可以工作,但是当我尝试构建 igraph 代码(可视化)时它显示 ConfigParser.MissingSectionHeaderError: File contains no section headers. file: /Users/username/.igraphrc, line: 1 '{\\rtf1\\ansi\\ansicpg1252\\cocoartf1344\\cocoasubrtf720\n'
  • 您似乎在 TextEdit.app 中编辑了.igraphrc,然后将其保存为 RTF 格式。使用以纯文本格式保存的编辑器。
【解决方案2】:

open 命令丢失。 igraph 使用此命令打开生成的绘图(在终端中尝试open some_image.png,您应该会得到相同的错误)。我不确定如何在 mac 上获取 open 命令,但如果默认情况下不包含该命令,则它看起来像 igraph 中的一个错误,它正在尝试使用它。

您可以尝试使用 ipython 笔记本(conda install ipython-notebook; ipython notebook 然后在打开的浏览器中添加您的代码),它将显示内联图或尝试在finder 中自己保存并打开图。

【讨论】:

  • open 命令是 OS X 的一部分,因此不应在 OP 的机器上丢失它。但是,它位于 /usr/bin 中,并且可能是 Sublime Text 启动的 shell(它在其中运行 Python 代码)在路径中不包含 /usr/bin
猜你喜欢
  • 2015-05-05
  • 2015-06-14
  • 1970-01-01
  • 1970-01-01
  • 2015-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-17
相关资源
最近更新 更多