2013-03-20 15 views
1

運行下面的Python代碼後:PyGraphViz agraph.layout()拋出I0錯誤

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') 

我得到這個一絲空閒:

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正確安裝

+0

你可以張貼一些細節?例如,我們需要生成這個追溯的部分代碼,當然你正在嘗試做什麼。 – toxotes 2013-03-20 00:35:14

+0

感謝您查看我的帖子。請看看我剛纔編輯的問題 – 2013-03-20 03:35:19

回答

0

它看起來像這是您的PyGraphViz和Windows版本的錯誤。我發現this bug ticket描述了它,但它在2011年顯然是固定的。看起來他們並沒有實際發佈更新,但是如果可以切換到更新,它應該位於SVN中。

如果不是,並且您不介意自己編輯源代碼,那麼他們所做的實際修正爲really trivial。只要找到agraph.py,並更改該行:

runprog=self._get_prog(prog) 

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

謝謝了很多毒素 – 2013-03-20 15:03:35

+0

再次很多很多謝謝。 – 2013-03-21 01:19:49

+0

@AdnanAlamKhan我認爲這些選項之一工作?哪一個?我會在答案中註明。 (順便說一句,如果它*工作,你可以將這個問題標記爲接受 - 幫助我們解決問題,並讓其他人知道這個問題對你有用。) – toxotes 2013-03-21 01:37:07