web-dev-qa-db-ja.com

Python:pygraphvizとgraphvizのインストールの問題

Python 2.7のWindowsにpygraphvizgraphvizを正しくインストールすることの難しさについて多くの質問があります。しかし、私が見つけた答えは私の問題を解決していません。これが私がしたことです:

  • 私は最初に非公式のWindowsバイナリを使用してpygraphvizをインストールしました link 私のanaconda(python)フォルダー(_C:\Users\chamar\AppData\Local\Continuum\Anaconda_)
  • Graphviz-2.36.msiをダウンロードし、デフォルトのパスC:\Program Files (x86)\Graphviz2.36でインストールしました

コマンド_import pygraphviz_ in Pythonは機能します。しかし、この関数を使用したい場合は_nx.graphviz_layout_ raise ValueError("Program %s not found in path."%prog)を取得します。

この問題の原因は、pygraphvizgraphvizのパスを見つけられないことです。非公式のWindowsバイナリを使用してpygraphvizをインストールしたので、libraryincludeの両方をgraphvizのパスにリンクするように変更できるファイルはどれですか?非公式のバイナリを使用しない場合、通常はpygraphvizの_setup.py_のlibraryパスとincludeパスにあります。

更新1

PATHの下のRegeditSOFTWAREに、値C:\Program Files (x86)\Graphviz2.36\binの新しいkey(デフォルト)を持つフォルダーGRAPHIZを追加しました。

更新2

Python Graphvizのパスを見つけるのが難しいという点で、_pydot.py_ファイルにエラーがありました。次のように変更しました。

_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.
_

どうして?

16
Plug4

PygraphvizをPython 3.4で機能させるために実行した手順は、次のとおりです(同様の手順を実行すると、Python 2.x)で機能するはずです) 。ページへの将来の訪問者のために、ここにそれを文書化しています:

前提条件:

  1. wheel (新しいディストリビューションではデフォルトで存在するはずです)
  2. Pygraphvizの正しいWindowsビルド (非公式ビルド) 。 Win7 x64では、「pygraphviz ‑$ version-cp34‑none‑win_AMD64.whl」を選択しました。 (pythonバージョンを示すcp34に注意してください。)
  3. Graphviz インストーラー バージョン2.38(上記のホイールが構築されている)

ステップ:

  1. Graphvizインストーラーを実行します
  2. Graphviz\binフォルダーをユーザーまたはシステムのPATHに追加します
  3. チェック:コマンドプロンプトを開き、twopi -Vを実行します。 Graphvizバージョンがコンソールに印刷されているのを確認できるはずです。
  4. 次に、Python環境に移動します(たとえば、anaconda.batを実行すると、pythonを実行できるプロンプトが表示されます)
  5. pip install pygraphviz‑*$version*-cp34‑none‑win_AMD64.whlを実行します
  6. 完了です:)! サンプルスクリプト を実行して、すべてがうまくいったかどうかを確認します。
13
StudioEvoque

このサイトには、インストール可能なパッケージがたくさんあります: http://www.lfd.uci.edu/~gohlke/pythonlibs/ インストールしようとしたものも含まれます。答えが遅すぎることはわかっていますが、メンバーになりました。

0
implicati0n