web-dev-qa-db-ja.com

pydotがWindows 8でGraphVizの実行可能ファイルを見つけることができないのはなぜですか?

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 ですが、問題を解決することができません。

62
web_ninja

これは、pydotをインストールした後にgraphvizをインストールしたために発生しました。したがって、pydotはそれを見つけることができませんでした。正しい順序で再インストールすると、問題が解決しました。

29
web_ninja

問題は、トレースバックに示されているように、GraphVizへのパスがpydotモジュールによって検出されなかったことです。

「GraphViz \の実行可能ファイルが見つかりません」

GraphViz binディレクトリをコンピューターのPATHに追加して、Windows 7マシンでこの問題を解決しました。次に、python IDEを再起動して、更新されたパスを使用します。

  1. GraphVizをまだインストールしていない場合はインストールします(MSIダウンロードを使用しました)
  2. Gvedit.exeのパスを取得します(私にとっては「C:\ Program Files(x86)\ Graphviz2.34\bin \」でした)
  3. このパスをコンピューターのPATHに追加します
  4. 環境設定にアクセスしてパスを設定する1つの方法は、これらのボタン/メニューオプションのそれぞれをクリックすることです:スタート->コンピューター->システムプロパティ->高度な設定->環境変数
  5. [ユーザーパスの編集]をクリックします
  6. 変数値リストの最後にこの文字列を追加します(セミコロンを含む):; C:\ Program Files(x86)\ Graphviz2.34\bin
  7. OKをクリック
  8. Python IDEを再起動します
63
user3078690

Macではbrew install graphvizが問題を解決しました。

61
nanvel

私の場合、Sadikからの答え pydotとgraphvizエラー:dot_parserをインポートできませんでした、ドットファイルのロードはできません Ubuntu 12.04.5 LTSで私のために働いた

Sudo apt-get install python-pydot

20
naoko

コントロールパネルからPATHを追加しようとしましたが、コマンドプロンプトの再起動も必要です。以下は、終了せずにノートブックセッションのパスを更新する場合にも機能します。

import os     

os.environ["PATH"] += os.pathsep + 'C:/Program Files (x86)/Graphviz2.38/bin/'
19
GtotheB

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'を追加

  1. パスを必要とする現在実行中のアプリケーションを再起動します
8
Jayani Sumudini

Graphviz からインストールし、Graphvizをインストールしたフォルダーのパスとそのbinディレクトリをシステム環境のパスに追加する必要があります。

8
Sanjay Bhosale

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実行可能ファイルを返しました必要とそのパス。

4
user2592414

私にとって:(Win10、Anaconda3)「conda install graphviz」を実行したことを確認してください

PATHに追加する必要があります:C:\ Users\username\Anaconda3\Library\bin\graphviz

PATHを変更するには、[コントロールパネル]> [システムとセキュリティ]> [システム]> [システムの詳細設定]> [環境変数]> [パス]> [編集]> [新規]に移動します。

この後、IDEを再起動してください。うまくいくはず

3
officialgupta

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.
2
user1098761

私も同じ問題を抱えていたので、ライブラリを見て最終的に解決しました。

ライブラリは、パスをC:\ Program Files\ATT\Graphviz\binに設定することを検討しますが、デフォルトではGraphvizはC:\ Program Files(x86)にインストールされます\ Graphvizは32ビットの基準を満たしているため、pydotは必要なパスの取得に失敗します。スクリプトの必要に応じてディレクトリを移動するだけで、準備完了です。

追伸:-Environmnet変数に同等の変更を加えることを検討してください。

P.S.S:-GraphvizがProgram Files(x86)またはATTの下にあるかどうかも確認してください。

2
Saurav Joshi

ここにGraphvizをインストールし、そのbinパスを追加して私の問題を解決しました

https://graphviz.gitlab.io/_pages/Download/Download_windows.html

pip install Graphviz自体は不適切と思われる

1
mac

Graphvizについて知っておくべきこと:

  1. graphvizはpythonモジュールであるだけでなく、スタンドアロンプ​​ログラムでもあります。 graphvizを動作させるには両方が必要だと思います。
  2. スタンドアロンgraphvizプログラムは、元々AT&Tによって開発され、オープンソース化され、その後放棄されました。パッケージの現在のメンテナーは、Pythonが実行可能プログラムを見つけることができるように、Windowsレジストリエントリを含めることを忘れていました。
  3. Pydotplus\graphviz.pyの行620には、graphvizがレジストリに見つからない場合にgraphvizを探すためのバックアップパスが含まれています。古いATTファイルパスを使用します。ファイルパスをマシン上のファイルパスに更新し(管理者権限が必要)、graphvizはpydotplusで動作するはずです。

例:

# Just in case, try the default... path = r"C:\Program Files (x86)\Graphviz2.38\bin"

1
Stever530

上記の問題に対して私がしたことは次のとおりです。私はWindows 10 OSとpython 3.6.5を使用しています

  1. ここをクリック でPIPをインストールします

  2. コマンドプロンプトを開き、コマンド「pip install graphviz」を入力します

  3. 私のコンピューター(このpc)に移動し、キーワード「graphviz」で検索します

  4. graphvizフォルダーを開き、そのパスをコピーしてメモ帳に保存します

  5. Graphvizでbinフォルダーを探し、マウスを右クリックしてフォルダーをコピーします

  6. 今再びコンピュータに戻って「pydotplus」を検索します

  7. pydotplusという名前のフォルダーが表示されます。それを開き、以前にコピーした(Graphvizの)binフォルダーのコピーを貼り付けます

  8. コントロールパネルに移動>システムとセキュリティ>システム設定>詳細設定>環境変数>新しいパスを追加

  9. メモ帳でコピーしたパスを追加し、一連の「OK」をクリックします

graphvizを使って楽しむことができるようになりました

1
Mohana Krishna

私はWindows 10マシンを実行していますが、いくつかの問題もありました。 msiインストーラーを介してgraphvizをインストールしました。システム設定による追加は機能しませんでした。

Msiを使用してインストールを削除し、Windowsパッケージマネージャーである chocolatey を使用しました。インストールされているバージョンを削除する必要があります。削除しないと、chocolateyはインストールされません。

今では正常に動作します。この方法で行うことをお勧めします。

1
nerdbeere

パス変数をいじりたくない場合(たとえば、管理者でない場合)、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')
0
horseshoe

解決方法は簡単です。Graphvizを here からダウンロードしてインストールするだけです。

次に、パス変数をbinディレクトリに設定します。私の場合はC:\Program Files (x86)\Graphviz2.38\binでした。最後に、conda install python-graphvizを実行すると、問題なく動作するはずです。

0
user10116669

私は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>

このソリューションは私の文脈の外で機能すると思います。このソリューションの主な欠点は、カーネルを再起動するたびに行う必要があることです。

0
mikestanleymth

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'):を見つけます。

最後に、関数で:

  1. 見つける:

    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. 2つのブロックの間にこれを追加します(Graphvizの実行可能パス):

    self.progs[prog] = "C:/Program Files (x86)/Graphviz2.38/bin/gvedit.exe"

  3. 結果を追加した後:

    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])
        )
    
  4. 変更したファイルを保存すると、正常に実行できます。

  5. pngファイルは機能しないため、bmpファイルとして保存することをお勧めします。 picture is here

0
张乾元

「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」を追加するよりも良いようです...

0
Jacques

私は手動の解決策を見つけました:Sudo apt-get install graphviz

graph.write( 'test.dot')dot -Tps test.dot -o outfile.ps

ここでファイルを作成できます: https://github.com/jecs89/LearningEveryDay/tree/master/GP

0
jecs89

すべてのソリューション/投稿/ブログで説明されているように、すべてのインストールシーケンスを試行し、anacondaが環境変数を読み取れないことに最終的に気付きました。アナコンダとスパイダーを閉鎖。次に、Anacondaを管理者モード(Windows 64ビットOSマシン上)で開き、Spyderを開きました。スクリプトはPYDOT呼び出しで正常に機能しました。

0
user836107

この問題が発生し、2組の二重引用符でPATHが出力されていることに気付きました。私は次の行1959に以下を追加することで問題を回避しました:

C:\Anaconda\Lib\site-packages\pydot.py

self.progs[prog] = os.path.normpath(self.progs[prog][1:-1])

明らかに最善の修正方法ではありませんが、1日が経ちました。

0
Dan Dye