Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

(Python) ValueError: Program dot not found in path

Tags:

I have the following problem: I am on xUbuntu OS and I am trying to use networkx in a Flask application, and I am having the following code:

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

The last line is line 411. I get the following error:

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.

What could be causing this problem? I've installed networkx and pygraphviz, but I still get this error. Any ideas how to solve this problem?

like image 226
Belphegor Avatar asked Dec 21 '12 09:12

Belphegor


2 Answers

PyGraphviz doesn't work without Graphviz. Install that too.

like image 163
Ignacio Vazquez-Abrams Avatar answered Sep 28 '22 09:09

Ignacio Vazquez-Abrams


If you have Anaconda installed the simplest way to go about this is to run the following from CMD:

conda install pydot-ng

and:

conda install graphviz

This takes care of adding dot to the path.

like image 26
Anon Avatar answered Sep 28 '22 08:09

Anon