GraphViz 2.32をWindows 8にインストールし、C:\ Program Files(x86)\ Graphviz2.32\binをシステムPATH変数に追加しました。それでも、pydotは実行可能ファイルを見つけることができません。
Traceback (most recent call last):
File "<pyshell#26>", line 1, in <module>
graph.write_png('example1_graph.png')
File "build\bdist.win32\Egg\pydot.py", line 1809, in <lambda>
lambda path, f=frmt, prog=self.prog : self.write(path, format=f, prog=prog))
File "build\bdist.win32\Egg\pydot.py", line 1911, in write
dot_fd.write(self.create(prog, format))
File "build\bdist.win32\Egg\pydot.py", line 1953, in create
'GraphViz\'s executables not found' )
InvocationException: GraphViz's executables not found
これを見つけました https://code.google.com/p/pydot/issues/detail?id=65 ですが、問題を解決することができません。
これは、pydotをインストールした後にgraphvizをインストールしたために発生しました。したがって、pydotはそれを見つけることができませんでした。正しい順序で再インストールすると、問題が解決しました。
問題は、トレースバックに示されているように、GraphVizへのパスがpydotモジュールによって検出されなかったことです。
「GraphViz \の実行可能ファイルが見つかりません」
GraphViz binディレクトリをコンピューターのPATHに追加して、Windows 7マシンでこの問題を解決しました。次に、python IDEを再起動して、更新されたパスを使用します。
Macではbrew install graphviz
が問題を解決しました。
私の場合、Sadikからの答え pydotとgraphvizエラー:dot_parserをインポートできませんでした、ドットファイルのロードはできません Ubuntu 12.04.5 LTSで私のために働いた
Sudo apt-get install python-pydot
コントロールパネルからPATHを追加しようとしましたが、コマンドプロンプトの再起動も必要です。以下は、終了せずにノートブックセッションのパスを更新する場合にも機能します。
import os
os.environ["PATH"] += os.pathsep + 'C:/Program Files (x86)/Graphviz2.38/bin/'
Windows 8.1およびpython 2.7の場合、以下の手順に従って問題を修正しました
1 graphviz-2.38.msiをダウンロードしてインストールします https://graphviz.gitlab.io/_pages/Download/Download_windows.html
2。パス変数を設定する
コントロールパネル>システムとセキュリティ>システム>システムの詳細設定>環境変数>パス>編集 'C:\ Program Files(x86)\ Graphviz2.38\bin'を追加
Graphviz からインストールし、Graphvizをインストールしたフォルダーのパスとそのbinディレクトリをシステム環境のパスに追加する必要があります。
Anaconda 3.6.5を搭載したWindows 10に取り組んでいます。私には管理者権限がないため、誰かが私のような状況にある場合、このソリューションは完全に機能します。
GraphvizのパスはC:\Users\User_Name\AppData\Local\Continuum\anaconda3\Library\bin\graphviz
に見えます
SpyderまたはJupyterで次のように入力します。
import os os.environ['PATH'].split(os.pathsep)
これは、環境内のすべてのパスをリストします。 graphvizパスがここにない場合は、それらを見てください。次に、上の例のように、それを見つけてパスをコピーします。次に、次を入力します:os.environ['PATH'] += os.pathsep + 'C:\\Users\\User_Name\\AppData\\Local\\Continuum\\anaconda3\\Library\\bin\\graphviz'
それだけですが、カーネルを再起動する場合は、これらのコマンドを毎回実行する必要があることに注意してください
Dot.exeをパスに追加します。コンピューターを右クリックし、システムの詳細設定>環境変数>ハイライト 'パス'>編集してから、引用符で囲まれたすべてをパスに追加します;; C:\ Program Files(x86)\ Graphviz2.34\bin\" Graphviz ofcourse.Thenを再起動してpythonシェルを入力します。
import pydot pydot.find_graphviz()「bin」の後にスラッシュがあることを確認して、フォルダ内からすべてを取得し、スラッシュなしで試して、上記のコードは何も返しませんでしたが、スラッシュを追加した後、graphviz実行可能ファイルを返しました必要とそのパス。
私にとって:(Win10、Anaconda3)「conda install graphviz」を実行したことを確認してください
PATHに追加する必要があります:C:\ Users\username\Anaconda3\Library\bin\graphviz
PATHを変更するには、[コントロールパネル]> [システムとセキュリティ]> [システム]> [システムの詳細設定]> [環境変数]> [パス]> [編集]> [新規]に移動します。
この後、IDEを再起動してください。うまくいくはず
Windowsでは、graphviz-2.38.msiをインストールした後でも、pydot.pyに独自のパスを追加できます(サイトパッケージフォルダーにあります)。
if os.sys.platform == 'win32':
# Try and work out the equivalent of "C:\Program Files" on this
# machine (might be on drive D:, or in a different language)
#
if os.environ.has_key('PROGRAMFILES'):
# Note, we could also use the win32api to get this
# information, but win32api may not be installed.
path = os.path.join(os.environ['PROGRAMFILES'], 'ATT', 'GraphViz', 'bin')
else:
#Just in case, try the default...
path = r"C:\PYTHON27\GraphViz\bin" # add here.
ライブラリは、パスをC:\ Program Files\ATT\Graphviz\binに設定することを検討しますが、デフォルトではGraphvizはC:\ Program Files(x86)にインストールされます\ Graphvizは32ビットの基準を満たしているため、pydotは必要なパスの取得に失敗します。スクリプトの必要に応じてディレクトリを移動するだけで、準備完了です。
追伸:-Environmnet変数に同等の変更を加えることを検討してください。
P.S.S:-GraphvizがProgram Files(x86)またはATTの下にあるかどうかも確認してください。
ここにGraphvizをインストールし、そのbinパスを追加して私の問題を解決しました
https://graphviz.gitlab.io/_pages/Download/Download_windows.html
pip install Graphviz自体は不適切と思われる
Graphvizについて知っておくべきこと:
例:
# Just in case, try the default... path = r"C:\Program Files (x86)\Graphviz2.38\bin"
上記の問題に対して私がしたことは次のとおりです。私はWindows 10 OSとpython 3.6.5を使用しています
ここをクリック でPIPをインストールします
コマンドプロンプトを開き、コマンド「pip install graphviz」を入力します
私のコンピューター(このpc)に移動し、キーワード「graphviz」で検索します
graphvizフォルダーを開き、そのパスをコピーしてメモ帳に保存します
Graphvizでbinフォルダーを探し、マウスを右クリックしてフォルダーをコピーします
今再びコンピュータに戻って「pydotplus」を検索します
pydotplusという名前のフォルダーが表示されます。それを開き、以前にコピーした(Graphvizの)binフォルダーのコピーを貼り付けます
コントロールパネルに移動>システムとセキュリティ>システム設定>詳細設定>環境変数>新しいパスを追加
メモ帳でコピーしたパスを追加し、一連の「OK」をクリックします
graphvizを使って楽しむことができるようになりました
私はWindows 10マシンを実行していますが、いくつかの問題もありました。 msiインストーラーを介してgraphvizをインストールしました。システム設定による追加は機能しませんでした。
Msiを使用してインストールを削除し、Windowsパッケージマネージャーである chocolatey を使用しました。インストールされているバージョンを削除する必要があります。削除しないと、chocolateyはインストールされません。
今では正常に動作します。この方法で行うことをお勧めします。
パス変数をいじりたくない場合(たとえば、管理者でない場合)、Windowsで作業している場合は、次の方法で問題を解決できます。
エディターでgraphviz.py
(おそらく...Anaconda\pkgs\graphviz***\Library\bin
にあります)を開きます。見つからない場合は、エラーメッセージで開くことができる場合があります。
機能__find_executables
に移動して、以下を置き換えます。
Elif os.path.exists(os.path.join(path, prg + '.exe')):
if was_quoted:
progs[prg] = '"' + os.path.join(path, prg + '.exe') + '"'
else:
progs[prg] = os.path.join(path, prg + '.exe')
と
Elif os.path.exists(os.path.join(path, prg + '.bat')):
if was_quoted:
progs[prg] = '"' + os.path.join(path, prg + '.bat') + '"'
else:
progs[prg] = os.path.join(path, prg + '.bat')
解決方法は簡単です。Graphvizを here からダウンロードしてインストールするだけです。
次に、パス変数をbinディレクトリに設定します。私の場合はC:\Program Files (x86)\Graphviz2.38\bin
でした。最後に、conda install python-graphviz
を実行すると、問題なく動作するはずです。
私はWindowsマシンを使用していません。Linuxプラットフォームを使用しています。ベイジアンネットワークをプロットするためにpythonパッケージpyAgrumを使用するコンテキストで、この実行可能ファイルが見つかりませんでした。 pyAgrumはgraphvizを使用してネットワークをプロットします。 python 3.6.4環境(つまりconda install <package name>
)でanacondaプラットフォームを使用してpyagrumとgraphvizをインストールしました。
/conda/envs/<environment name>/bin
ディレクトリで実行可能ファイルを見つけました。それで、ノートブックのカーネルにそれらを見つけさせるだけでした。
import os
を使用している場合は、コマンドos.environ['PATH'].split(os.pathsep)
を使用して、環境が探している実行可能パスを確認します。 graphviz実行可能ファイルを含むパスがそこにない場合、次を実行して追加できます:os.environ['PATH'] += os.pathsep + <path to executables>
。
このソリューションは私の文脈の外で機能すると思います。このソリューションの主な欠点は、カーネルを再起動するたびに行う必要があることです。
pydot.thenの代わりに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ファイルとして保存することをお勧めします。
「pydot.py」(...\Anaconda3\Lib\site-packagesにあります)で、以下を置き換えます:
def get_executable_extension():
# type: () -> str
if is_windows():
return '.bat' if is_anacoda() else '.exe'
else:
return ''
で:
def get_executable_extension():
# type: () -> str
if is_windows():
return '.exe'
else:
return ''
システムが「Windows/Anaconda」対「Windows」の場合、「。bat」を追加する理由はないようで、「。exe」に関連付けられた「.bat」がない場合があります。これは、すべての実行可能なpydot呼び出しに「.bat」を追加するよりも良いようです...
私は手動の解決策を見つけました:Sudo apt-get install graphviz
graph.write( 'test.dot')dot -Tps test.dot -o outfile.ps
ここでファイルを作成できます: https://github.com/jecs89/LearningEveryDay/tree/master/GP
すべてのソリューション/投稿/ブログで説明されているように、すべてのインストールシーケンスを試行し、anacondaが環境変数を読み取れないことに最終的に気付きました。アナコンダとスパイダーを閉鎖。次に、Anacondaを管理者モード(Windows 64ビットOSマシン上)で開き、Spyderを開きました。スクリプトはPYDOT呼び出しで正常に機能しました。
この問題が発生し、2組の二重引用符でPATHが出力されていることに気付きました。私は次の行1959に以下を追加することで問題を回避しました:
C:\Anaconda\Lib\site-packages\pydot.py
self.progs[prog] = os.path.normpath(self.progs[prog][1:-1])
明らかに最善の修正方法ではありませんが、1日が経ちました。