Windows で Python 2.7pygraphviz
を適切にインストールすることの難しさについて、多くの質問が寄せられています。graphviz
しかし、私が見つけた答えは私の問題を解決していません。これが私がしたことです:
- 最初に、非公式の Windows バイナリを使用して pygraphviz をインストールし、anaconda (python) フォルダーに
このリンク
C:\Users\chamar\AppData\Local\Continuum\Anaconda
を追加しました ( ) - graphviz-2.36.msi をダウンロードし、デフォルト パスにインストールしました。
C:\Program Files (x86)\Graphviz2.36
import pygraphviz
Pythonのコマンドは機能します。nx.graphviz_layout
しかし、この関数を使用したい場合は、raise ValueError("Program %s not found in path."%prog)
この問題の原因として考えられるpygraphviz
のは、 のパスが見つからないことですgraphviz
。非公式の Windows バイナリを使用してインストールしたので、とforのパスのpygraphviz
両方をリンクするためにどのファイルを変更できますか? 非公式のバイナリを使用しない場合は、通常、とのパスで見つけることができます。library
include
graphviz
setup.py
pygraphviz
library
include
更新 1
GRAPHIZ フォルダーの下に新しい(デフォルト) 値を持つフォルダーに追加しPATH
ましたRegedit
SOFTWARE
key
C:\Program Files (x86)\Graphviz2.36\bin
更新 2
pydot.py
PythonがGraphvizのパスを見つけるのが難しいということで、ファイルにエラーがありました。次のように変更を加えました。
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'}
それは私には問題ないようですが、実行するときに次のように言います:
positions = nx.graphviz_layout(G, prog='twopi', root=0)
私は得る:
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.
なんで?