Windows 7でPython3.4を実行しています。graphvizのPythonインターフェイスを使用しようとしています。これは、実行する予定のスクリプトです。
from graphviz import Digraph
import pydotplus
dot = Digraph(comment='The Round Table')
dot.node('A', 'King Arthur')
dot.node('B', 'Sir Bedevere the Wise')
dot.node('L', 'Sir Lancelot the Brave')
dot.edges(['AB', 'AL'])
dot.Edge('B', 'L', constraint='false')
print(dot.source)
dot.render('test-output/round-table.gv', view=True)
実行時に次のエラーが表示されます。
RuntimeError: failed to execute ['dot', '-Tpdf', '-O', 'test-output/round-table.gv'], make sure the Graphviz executables are on your systems' path
これで、正しい依存関係が適切にインストールされたと確信しています。最初に正しい環境変数を設定しようとしました。 graphviz実行可能ファイルはC:\ Program Files(x86)\ Graphviz2.37\binにあるため、環境変数セクションに移動しました。ユーザー変数とシステム変数の2つのセクションがあります。 [システム変数]の下でPathをクリックし、Edit
をクリックして追加; C:\ Programファイル(x86)\ Graphviz2.37\binを文字列の最後に保存します。これはエラーをクリアしませんでした。
次に、答えに従って ここで指定 私はpydotをアンインストールし(実際ここでpydotplusを使用)、再度インストールしましたが、まだ成功していません。
私はこれを修正するために何時間も努力してきましたが、PATH変数全体は混乱を招き、イライラさせられます。
表示されるように、Graphviz2.37はWindowsのPATH変数に問題があることが知られています。私はそれをアンインストールし、それに関連付けられた環境変数を削除し、代わりに新しいベータバージョン2.39をダウンロードしてインストールしましたが、今では魅力のように動作します。
私の場合(Win10、Anaconda3、Jupyterノートブック)"conda install graphviz"
PATHに追加する必要があります:C:\Users\username\Anaconda3\Library\bin\graphviz
PATHを変更するにはControl Panel > System and Security > System > Advanced System Settings > Environment Variables > Path > Edit > New
Ubuntu 16.04でもこの問題が発生しました。
すでに実行したpipインストールに加えてSudo apt-get install graphviz
を実行することで修正されました。
Win10のanacondaを搭載したjupyter(ipython)ノートブックでは、conda install graphviz
でgraphvizをインストールした後、pip install graphviz
で問題を解決しました。
Mac OSは言及されていないため、OS X Yosemiteでも同じ問題が発生したことを付け加えます。私が見つけた解決策はbrew install graphviz
これは問題を解決しましたが、このリストの他の回答のいずれかを編集しただけではいけないかどうかはわかりません。それらはすべて同じ回答のようであるため、Pythonライブラリ。
c:\ Program Files(x86)\ Graphviz2.38\binをPATHに追加する場合、IDEスパイダーなどの環境を閉じて再起動する必要があります。 "RuntimeError:を解決します。 Graphviz実行可能ファイルがシステムのパス上にあることを確認してください」
この問題を解決するには、graphviz2.38を正常にインストールしたら、PATH変数をシステムパスに追加します。システム変数の下で、[パス]をクリックし、[編集]をクリックして追加します; C:\ Program Files(x86)\ Graphviz2.38 \文字列の最後までビンに移動して保存します。その後、pythonIDEをspyperのように再起動すると、うまく機能します。
Spyderを閉じてから再起動することを忘れないでください。
https://graphviz.gitlab.io/_pages/Download/Download_windows.html
から直接インストールし、Windowsパスに含めて解決しました:
C:\Program Files (x86)\Graphviz2.38\bin
C:\Program Files (x86)\Graphviz2.38
Windowsを再起動した後
Windows 8.1&python 2.7の場合、以下の手順に従って問題を修正しました
1 graphviz-2.38.msiをダウンロードしてインストールします http://www.graphviz.org/pub/graphviz/stable/windows/graphviz-2.38.msi
2。パス変数を設定する
Win10を使用している場合は、Graphvizをインストールし、次のコマンドを使用してパスを追加します。
import os
os.environ["PATH"] += os.pathsep + 'C:\Program Files (x86)\Graphviz2.38/bin/'
Windows 10でも同じ問題が発生しました。
最初に、graphviz-2.38.0
次のコマンドで問題なく...
install -c anaconda graphviz=2.38.0
次に、次のコマンドを使用してpydotplus
を問題なくインストールしました...
install -c conda-forge pydotplus
その後、意思決定ツリーを視覚化するステップに着いたとき、{InvocationException: GraphViz's executables not found}
...
C:\Users\admin\Anaconda3\lib\site-packages\pydotplus\graphviz.py in create(self, prog, format)
1958 if self.progs is None:
1959 raise InvocationException(
-> 1960 'GraphViz\'s executables not found')
1961
1962 if prog not in self.progs:
InvocationException: GraphViz's executables not found
私の場合、それを修正するために必要なことは、ユーザーgraphviz
環境変数にPATH
実行可能ファイルの環境パスを配置するだけで、これが修正されました。 YOUR.exe
ファイルがあります:)
C:\Users\admin\Anaconda3\pkgs\graphviz-2.38.0-4\Library\bin\graphviz
私はWindows 10を使用していることに注意してください。次のいくつかは、Windowsまたはオペレーティングシステムの他のバージョンに適用される場合と適用されない場合があります。
**注2:**
「システム上のGraphviz binファイルのアドレス」は、C:\ Program Files(x86)\ Graphviz2.38\binまたはGraphvizをインストールした他のパス。
Graphvizだけでなく、Jupyterで使用する他の外部EXEファイルにも問題があります。
理由は、jupyterがパッケージをインポートしたいときに、作業ディレクトリでそれを見つけるために探し、パッケージが見つからなかった場合にそのようなエラーを返します。
これに取り組むことは次のとおりです。
1)Graphvizがシステムにインストールされているかどうかを確認します。インストールされていない場合は、次からダウンロードしてインストールできます。
https://graphviz.gitlab.io/_pages/Download/Download_windows.html
次にインストールします。 Graphvizをインストールする場合、インストールする場所(フォルダー)に注意してください。使用時に上記のエラーが表示される場合
import graphviz
次に、いくつかのオプションがあります。
2)ipynbの.exeファイルを呼び出すことができます
import os
os.environ["PATH"] += os.pathsep + r'the Graphviz bin file address on your system'
私が経験しているのは、作業しているのと同じipynbでのみ機能し、ノートブックを開くたびにこのコード行を呼び出す必要があるということです。
3)Jupyterでexeファイルを検索する場合は、環境パスを設定する必要があります。
Windows 10では、次の操作を実行できます。
コントロールパネル>システムとセキュリティ>システム>システムの詳細設定>環境変数>パス>編集>新規
そして、「システム上のGraphviz binファイルアドレス」を追加します。Windows8以下では、次の場所に移動します。
コントロールパネル>システムとセキュリティ>システム>システムの詳細設定>環境変数
次に、;(セミコロン)+ "システム上のGraphviz binファイルアドレス"をパス文字列の最後に追加します
注:マシンを再起動することを忘れないでください。
4)これが機能しない場合でも、次の変数を定義します。
[コントロールパネル]> [システムとセキュリティ]> [システム]> [システムの詳細設定]> [環境変数]
変数には必ずGraphvizという名前を付けてください。最後にPCを再起動し、動作することを願っています。
インストールするだけ
conda install graphviz
次にインストールする
conda install -c conda-forge pydotplus
Ubuntu(14.04)とJupyterで同じ問題が発生しました。
それを解決するために、ドットライブラリをpython sys.pathに追加しました
最初:ドットがインストールされているかどうかを確認し、
次に、彼のパスを見つけますwhereis dot
->/local/notebook/miniconda2/envs/ik2/bin/dot
最後にpython script:sys.path.append( "/ local/notebook/miniconda2/envs/ik2/bin/dot")
Pydotの代わりにpydotplusを使用してください
検索:C:\Users\zhangqianyuan\AppData\Local\Programs\Python\Python36\Lib\site-packages\pydotplus
開いた graphviz.py
行1925-行1972を見つけ、関数を見つけます。
def create(self, prog=None, format='ps'):
関数検索で:
if prog not in self.progs:
raise InvocationException(
'GraphViz\'s executable "%s" not found' % prog)
if not os.path.exists(self.progs[prog]) or \
not os.path.isfile(self.progs[prog]):
raise InvocationException(
'GraphViz\'s executable "{}" is not'
' a file or doesn\'t exist'.format(self.progs[prog])
)
2つのブロックの間にこれを追加します(Graphvizの実行可能パス):
self.progs[prog] = "C:/Program Files (x86)/Graphviz2.38/bin/gvedit.exe"`
結果を追加した後:
if prog not in self.progs:
raise InvocationException(
'GraphViz\'s executable "%s" not found' % prog)
self.progs[prog] = "C:/Program Files (x86)/Graphviz2.38/bin/gvedit.exe"
if not os.path.exists(self.progs[prog]) or \
not os.path.isfile(self.progs[prog]):
raise InvocationException(
'GraphViz\'s executable "{}" is not'
' a file or doesn\'t exist'.format(self.progs[prog])
)
変更したファイルを保存すると、正常に実行できます。
pNGファイルは機能しないため、bmpファイルとして保存することをお勧めします。
Anaconda 3でWindows 10 Python 3.6を使用していますが、同じ問題に直面しています。
私は次のことを順番に行うことで動作させました:
その後はうまくいきました。