2012-12-21 26 views
12

Ho il seguente problema: Io sono su Xubuntu sistema operativo e sto cercando di utilizzare NetworkX in un'applicazione Flask, e sto avendo il seguente codice:(Python) ValueError: Programma non dot trovato nel percorso

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

l'ultima riga è la linea 411. ottengo il seguente errore:

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. 

cosa potrebbe causare questo problema? Ho installato networkx e pygraphviz, ma ottengo ancora questo errore. Qualche idea su come risolvere questo problema?

risposta

18

PyGraphviz non funziona senza Graphviz. Installa anche questo.

+0

È possibile che si verifichi questo problema anche se PyGraphviz è installato, se la directory bin PyGraphviz non è stata aggiunta al percorso. Ho riscontrato questo problema su Windows. – atomh33ls

5

Assicurarsi che Graphviz sia installato tramite il programma di installazione di Windows (può essere scaricato da http://www.graphviz.org/Download_windows.php).

Quindi aggiungere il percorso della piegatura bin alla variabile di sistema "Percorso". È "dot.exe" in bin fold che viene cercato da pygraphviz.

Non funziona se si installa pip graphviz.

5

Se avete Anaconda installato il modo più semplice per andare su questo è quello di eseguire il seguente da CMD:

conda install pydot-ng 

e:

conda install graphviz 

Questo si prende cura di aggiungere punti al percorso.

0

In SUSE Linux:

sudo zypper install graphviz 

potrebbe aiutare.