web-dev-qa-db-ja.com

GraphvizをAnaconda / Spyderで使用するにはどうすればよいですか?

SpyderのGraphvizを(Anacondaインストールを介して)使用しようとしています。これを行うために何が必要か、パッケージのロード、変数の設定などの方法を理解するのに苦労しています。

私は新しいPythonで、GraphvizとSpyderのユーザーが素晴らしいと思います!

また、Graphvizを作成して実行するだけでなく、事前に生成された.gvファイルを使用してpythonからGraphvizを実行するにはどうすればよいですか?

6
Scott G

これが私のために働いたステップです。この情報の多くは入手可能でしたが、いくつかの異なるStackOverflowの投稿や他のWebサイトに広がっていました。これが良いワンストップリソースとして役立つことを願っています。

  1. Graphviz Webサイト にアクセスし、ダウンロードしてコンピューターにインストールします(すべてのユーザーにインストールする必要はありません)。

  2. Continuum Webサイト からAnaconda3.5をダウンロードしてインストールします。

  3. Graphvizを環境変数「Path」に追加します。

    • _Computer > Properties > Advanced system settings > Environment Variables_に移動し、システム変数ボックスで「パス」を見つけます。 [パス]をクリックし、[編集]をクリックします。
    • Pathにすでに存在する多くのパスの最後に;C:\Program Files (x86)\Graphviz2.38\binを追加します。 Graphvizへのパスは異なる場合があるため、正しいパスを入力してください。フォルダ「bin」には、_dot.exe_アプリケーションを含む多くのファイルが含まれている必要があります。
    • インストールを確認するには、コマンドプロンプトに移動し、次のように入力します。_dot -V_これにより、インストールされているGraphvizのバージョンが返されます。たとえば、_dot - graphviz version 2.38.0_。これが機能しない場合は、setと入力して、Graphvizパスを探します。
  4. Anacondaコマンドプロンプトに移動し、次のように入力します:_pip install graphviz_

  5. Spyderを再起動するか、まだ開いていない場合は起動します。

  6. Pythonスクリプト内で_import graphviz_を追加します

  7. 以下は、GraphvizチュートリアルのGraphvizを使用してグラフを作成してレンダリングする方法の例です。

    _import graphviz
    
    dot = graphviz.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')
    
    dot.render('FileName', view=True)
    _
  8. 以下は、事前に生成された.gvファイルからグラフを作成する方法の例です(少なくとも探索の開始点)

    _from graphviz import Source
    Source.from_file('file.gv')
    _

便利なリンク:

GraphvizとPythonの使用を開始する

Graphviz属性

ドットガイド

別のStackOverflowの質問

使用したバージョン:

Anaconda 3.5(Spyderに付属)

Graphviz 2.38

19
Scott G

私は他の質問に報奨金を与えましたが、それからもっと良い方法があることに気づきました:

  • conda install graphvizはGraphVizのバイナリをインストールします(したがって、GraphViz Webサイトにアクセスする必要はなく、おそらく通常のコンダの方法で更新されます)。
  • conda install python-graphvizはGraphVizのPythonフロントエンドをインストールします(これはpip install graphvizと同じで、大きな混乱を招きました)。

Graphvizフロントエンドのcondaバージョン インストールされているバイナリをサポートするようにパッチが適用されています conda graphvizパッケージによって、graphviz自体の場合、これで十分です。

ただし、pydotの場合、Windowsでは、これらのバイナリをPATHに含めるまでこれは機能しません。次のことができます スクリプト内で一時的にこれを行う

import os
os.environ["PATH"] += os.pathsep + 'PATH_STRING'

pydotを呼び出すコマンドの前。

PATH_STRINGは、特定のconda環境の場合はC:\Anaconda3\envs\ENV_NAME\Library\bin\graphviz、デフォルト環境の場合はC:\Anaconda3\Library\bin\graphvizのいずれかです。

(Tensorflow用にpy3.6環境をインストールする必要がありました。これは、まだpy3.7をサポートしておらず、conda install tensorflowが何時間もハングしていて、システム上のすべてのパッケージをダウングレードする方法を見つけようとしたためです。(おそらく他のGraphVizをインストールしている人も同じ理由でそうしています。))

2
endolith