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:

Ich habe pygraphviz zuerst mit inoffiziellen Windows-Binärdateien installiertVerknüpfung in meinem anaconda (python) ordner (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 zumgraphvizWeg 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?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage