2012-12-21 10 views
12

に見つからないドット、私は次のような問題を持っている:私はXubuntuのOS上と私はフラスコアプリケーションでnetworkx使用しようとしています、と私は次のコードを持っています:(パイソン)とValueError:プログラムパス

..... 
import networkx as nx 
...... 
# Creating and initializing graph object which is networkx object 
hosts_graph = get_networkx_graph_object() 

# Variable 'coord' where the coordinates for each node will be stored 
coord = nx.pygraphviz_layout(hosts_graph, prog = 'dot') 

File "/home/kiril/Documents/workfolder/omeganoc-sprint/onoc/omeganoc/grapher.py", line 411, in grouping_method 
    coord = nx.pygraphviz_layout(hosts_graph, prog = 'dot') 
    File "/usr/local/lib/python2.7/dist-packages/networkx-1.7-py2.7.egg/networkx/drawing/nx_agraph.py", line 264, in pygraphviz_layout 
    A.layout(prog=prog,args=args) 
    File "/usr/local/lib/python2.7/dist-packages/pygraphviz-1.1-py2.7-linux-x86_64.egg/pygraphviz/agraph.py", line 1301, in layout 
    data=self._run_prog(prog,' '.join([args,"-T",fmt])) 
    File "/usr/local/lib/python2.7/dist-packages/pygraphviz-1.1-py2.7-linux-x86_64.egg/pygraphviz/agraph.py", line 1248, in _run_prog 
    runprog=self._get_prog(prog) 
    File "/usr/local/lib/python2.7/dist-packages/pygraphviz-1.1-py2.7-linux-x86_64.egg/pygraphviz/agraph.py", line 1236, in _get_prog 
    raise ValueError("Program %s not found in path."%prog) 
ValueError: Program dot not found in path. 

この問題を引き起こして何ができるか:

最後の行は、私は次のエラーを取得するライン411のですか?私はnetworkxとpygraphvizをインストールしましたが、私はまだこのエラーを受け取ります。任意のアイデアはどのようにこの問題を解決するには?

答えて

18

PyGraphvizはGraphvizなしでは動作しません。それもインストールしてください。

+0

PyGraphvizのbinディレクトリがパスに追加されていない場合でも、PyGraphvizがインストールされていてもこの問題が発生することがあります。 – atomh33ls

5

GraphvizがWindowsインストーラによってインストールされていることを確認してください(http://www.graphviz.org/Download_windows.phpからダウンロードできます)。

次に、bin変数のパスをシステム変数 "Path"に追加します。これはpygraphvizが探しているbinフォルダー内の "dot.exe"です。

graphvizをpipインストールすると動作しません。

5

あなたはAnacondaはこのについて移動する最も簡単な方法は、CMDから次のことを実行することですインストールしている場合:

conda install pydot-ng 

と:

conda install graphviz 

をこのパスにドットを追加するの面倒を見ます。 SUSEのLinuxでの

0

sudo zypper install graphviz 

が役立つかもしれません。