Python: Installationsprobleme mit pygraphviz und graphviz
Ich sehe viele Fragen zu den Schwierigkeiten bei der ordnungsgemäßen Installationpygraphviz
undgraphviz
unter Windows für Python 2.7. Aber keine Antwort, die ich gefunden habe, löst mein Problem. Folgendes habe ich getan:
C:\Users\chamar\AppData\Local\Continuum\Anaconda
)Graphviz-2.36.msi wurde heruntergeladen und unter dem Standardpfad installiertC:\Program Files (x86)\Graphviz2.36
Der Befehlimport pygraphviz
in Python funktioniert. Aber wenn ich diese Funktion nutzen will sag malnx.graphviz_layout
Ich bekommeraise ValueError("Program %s not found in path."%prog)
Was dieses Problem verursachen kann, ist daspygraphviz
kann den Pfad von nicht findengraphviz
. Nun, da ich installiert habepygraphviz
Mit der inoffiziellen Windows-Binärdatei, welche Datei kann ich ändern, um beide zu verknüpfenlibrary
undinclude
zumgraphviz
Weg von? Sie würden Sie normalerweise im findensetup.py
vonpygraphviz
daslibrary
undinclude
Pfade, wenn Sie nicht die inoffiziellen Binärdateien verwenden.
UPDATE 1
Fügte ich hinzuPATH
imRegedit
unterSOFTWARE
einen Ordner GRAPHIZ mit einem neuenkey
(Standard) mit WertC:\Program Files (x86)\Graphviz2.36\bin
UPDATE 2
Ich hatte einen Fehler in derpydot.py
Datei über die Schwierigkeit von Python, den Pfad von Graphviz zu finden. Ich habe folgende Änderungen vorgenommen:
def _graphviz():
if os.sys.platform == 'win32':
path = r"C:/Program Files (x86)/Graphviz2.36/bin/"
progs = __find_executables(path)
return progs
find_graphviz()
{'fdp': 'C:/Program Files (x86)/Graphviz2.36/bin/fdp.exe', 'twopi': 'C:/Program Files (x86)/Graphviz2.36/bin/twopi.exe', 'neato': 'C:/Program Files (x86)/Graphviz2.36/bin/neato.exe', 'dot': 'C:/Program Files (x86)/Graphviz2.36/bin/dot.exe', 'circo': 'C:/Program Files (x86)/Graphviz2.36/bin/circo.exe'}
Das scheint mir in Ordnung zu sein, aber wenn ich es ausführe, sage:
positions = nx.graphviz_layout(G, prog='twopi', root=0)
Ich bekomme:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\chamar.stu\AppData\Local\Continuum\Anaconda\lib\site-packages\networkx\drawing\nx_agraph.py", line 229, in graphviz_layout
return pygraphviz_layout(G,prog=prog,root=root,args=args)
File "C:\Users\chamar.stu\AppData\Local\Continuum\Anaconda\lib\site-packages\networkx\drawing\nx_agraph.py", line 264, in pygraphviz_layout
A.layout(prog=prog,args=args)
File "C:\Users\chamar.stu\AppData\Local\Continuum\Anaconda\lib\site-packages\pygraphviz\agraph.py", line 1305, in layout
data=self._run_prog(prog,' '.join([args,"-T",fmt]))
File "C:\Users\chamar.stu\AppData\Local\Continuum\Anaconda\lib\site-packages\pygraphviz\agraph.py", line 1251, in _run_prog
runprog=r'"%s"'%self._get_prog(prog)
File "C:\Users\chamar.stu\AppData\Local\Continuum\Anaconda\lib\site-packages\pygraphviz\agraph.py", line 1239, in _get_prog
raise ValueError("Program %s not found in path."%prog)
ValueError: Program twopi not found in path.
Warum?