web-dev-qa-db-ja.com

Windows 10でPython 3で使用するためにGraphvizをインストールする

したがって、私はPython 3.6をWindows 10コンピューターでしばらく使用しており、今日は_graphviz 0.8.2_( ]をダウンロードしてインストールしましたpypi.python.org/pypi/graphviz )adminコマンドラインを介して次のようにパッケージ:

_pip3 install graphviz_

この時点で初めて、Graphviz 2.38 MSIインストーラーファイルをダウンロードして、次の場所にプログラムをインストールしました。

C:\Program Files (x86)\Graphviz2.38

それで、私はこの単純なPythonプログラムを実行しようとしました:

_from graphviz import Digraph

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.render('round-table.gv', view=True)
_

しかし、残念ながら、コマンドラインからPythonプログラムを実行しようとすると、次のエラーが発生しました。

_Traceback (most recent call last):
  File "C:\Program Files\Python36\lib\site-packages\graphviz\backend.py", line 124, in render
    subprocess.check_call(args, startupinfo=STARTUPINFO, stderr=stderr)
  File "C:\Program Files\Python36\lib\subprocess.py", line 286, in check_call
    retcode = call(*popenargs, **kwargs)
  File "C:\Program Files\Python36\lib\subprocess.py", line 267, in call
    with Popen(*popenargs, **kwargs) as p:
  File "C:\Program Files\Python36\lib\subprocess.py", line 709, in __init__
    restore_signals, start_new_session)
  File "C:\Program Files\Python36\lib\subprocess.py", line 997, in _execute_child
    startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "D:\foldername\testing.py", line 11, in <module>
    dot.render('round-table.gv', view=True)
  File "C:\Program Files\Python36\lib\site-packages\graphviz\files.py", line 176, in render
    rendered = backend.render(self._engine, self._format, filepath)
  File "C:\Program Files\Python36\lib\site-packages\graphviz\backend.py", line 127, in render
    raise ExecutableNotFound(args)
graphviz.backend.ExecutableNotFound: failed to execute ['dot', '-Tpdf', '-O', 'round-table.gv'], make sure the Graphviz executables are on your systems' PATH
_

"RuntimeError:Graphviz実行可能ファイルがシステムのパスにあることを確認してください" Graphviz 2.38 をインストールした後、私が尋ねた内容が非常に似ていることに注意してください。

しかし、何らかの理由で、これらのパス(上記のリンクのソリューションで推奨)をシステム変数に追加しても機能せず、理由がわかりません!パスを追加した後もコンピューターを再起動しようとしましたが、まだ成功しませんでした。下の画像をご覧ください。

enter image description here

他の提案された解決策は、これらの数行をmy Python code、didの前に追加することでした:

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

しかし、ここに問題があります。環境変数への追加が機能しない理由がわかりません。これが私の最大の関心事です。 だから私の質問はこれです:Pythonスクリプトの前にこれらのコード行を追加したのに、環境変数の変更が機能しなかったのはなぜですか?これらのコード行を前に追加せずにスクリプトを実行するには、何をする必要がありますか?

7
ereHsaWyhsipS

PATH環境変数を設定した後、cmdウィンドウでSETを入力したときに得られる出力を投稿できますか?

C:/Program Files (x86)/Graphviz2.38/bin/が含まれていますか?

更新された環境変数が有効になる前に、コマンドウィンドウを再起動する必要があります!

6
Michael P