PyGraphViz agraph.layout()抛出I0错误

时间:2013-03-20 00:27:39

标签: python pygraphviz

运行以下Python代码后:

import pygraphviz as pgv
G=pgv.AGraph()
G.add_edge(1,2)
G.add_edge(2,3)
G.add_edge(3,4)
G.layout(prog='dot')
G.draw('1.png')

我在IDLE中得到了这个痕迹:

 File "<pyshell#7>", line 1, in <module>
   G.layout(prog='dot')
 File "C:\Python27\lib\site-packages\pygraphviz\agraph.py", line 1302, in layout
   data=self._run_prog(prog,' '.join([args,"-T",fmt]))
 File "C:\Python27\lib\site-packages\pygraphviz\agraph.py", line 1275, in _run_prog
   raise IOError("".join(errors))
 IOError: 'C:\Program' is not recognized as an internal or external command,
 operable program or batch file.

请帮忙,我正在开设一个课程项目。 信息: Graphviz已正确安装

1 个答案:

答案 0 :(得分:0)

看起来这是你的PyGraphViz和Windows版本的错误。我发现this bug ticket描述了它,但它显然在2011年得到修复。看起来他们实际上没有发布更新,但如果你可以切换到它,它应该在他们的SVN中。

如果没有,并且您不介意自己编辑源代码,那么他们所做的实际修复是really trivial。只需找到agraph.py,然后更改此行:

runprog=self._get_prog(prog) 

runprog=r'"%s"'%self._get_prog(prog)