Question

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?

Was it helpful?

Solution

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

OTHER TIPS

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.

Make sure Graphviz is installed through the Windows installer (can be downloaded from http://www.graphviz.org/Download_windows.php).

Then add the path of the bin fold to the system variable "Path". It is "dot.exe" in bin fold that is looked for by pygraphviz.

It does not work if you pip install graphviz.

In SUSE linux:

sudo zypper install graphviz

might help.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top