web-dev-qa-db-ja.com

Windows 10 64ビットでのpygraphvizのインストール、Python 3.6

Windows 10にpygraphvizをインストールしようとしています。この問題には多くの解決策がオンラインにありますが、まだ私のために機能していません。私が持っている正確な問題は、jupyterノートブックを介してこれにあります->

[1] import networkx as nx
import pylab as plt
from networkx.drawing.nx_agraph import graphviz_layout

[2]G = nx.DiGraph()
G.add_node(1,level=1)
G.add_node(2,level=2)
G.add_node(3,level=2)
G.add_node(4,level=3)

G.add_Edge(1,2)
G.add_Edge(1,3)
G.add_Edge(2,4)

nx.draw(G, pos=graphviz_layout(G), node_size=1600, cmap=plt.cm.Blues,
    node_color=range(len(G)),
    prog='dot')
plt.show()

[2]の後に次のエラーが表示されます。

ModuleNotFoundError                       Traceback (most recent call last)
C:\Users\name\Anaconda3\lib\site-packages\networkx\drawing\nx_agraph.py 
in 
pygraphviz_layout(G, prog, root, args)
    254     try:
--> 255         import pygraphviz
    256     except ImportError:

ModuleNotFoundError: No module named 'pygraphviz'

そして

ImportError                               Traceback (most recent call last)
<ipython-input-2-86a15892f0f0> in <module>()
  9 G.add_Edge(2,4)
 10 
---> 11 nx.draw(G, pos=graphviz_layout(G), node_size=1600, cmap=plt.cm.Blues,
 12         node_color=range(len(G)),
 13         prog='dot')

C:\Users\name\Anaconda3\lib\site-packages\networkx\drawing\nx_agraph.py in graphviz_layout(G, prog, root, args)
226 
227     """
--> 228     return pygraphviz_layout(G,prog=prog,root=root,args=args)
229 
230 def pygraphviz_layout(G,prog='neato',root=None, args=''):

C:\Users\name\Anaconda3\lib\site-packages\networkx\drawing\nx_agraph.py in pygraphviz_layout(G, prog, root, args)
256     except ImportError:
257         raise ImportError('requires pygraphviz ',
--> 258                           'http://pygraphviz.github.io/')
259     if root is not None:
260         args+="-Groot=%s"%root

ImportError: ('requires pygraphviz ', 'http://pygraphviz.github.io/')

これは私がこれを解決しようとしたものです

(1)通常のpipインストール:「pip install pygraphviz」これは最後に表示されるエラーです。 [〜#〜] edit [〜#〜]cmdをadminとして実行しても同じエラーが発生します。

Command "C:\Users\name\Anaconda3\python.exe -u -c "import setuptools, 
tokenize;__file__='C:\\Users\\name~1\\AppData\\Local\\Temp\\pip-build-
n81lykqs\\pygraphviz\\setup.py';f=getattr(tokenize, 'open', open)
(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, 
__file__, 'exec'))" install --record C:\Users\name~1\AppData\Local\Temp\pip-
b3jz1lk5-record\install-record.txt --single-version-externally-managed --
compile" failed with error code 1 in C:\Users\name~1\AppData\Local\Temp\pip-
build-n81lykqs\pygraphviz\

(2)graphviz-2.38.msiをダウンロードしてインストールし、両方の64ビットバージョンのホイールをダウンロードします。これが結果です。

C:\Users\name\Anaconda3>pip install pygraphviz-1.3.1-cp34-none-
win_AMD64.whl
pygraphviz-1.3.1-cp34-none-win_AMD64.whl is not a supported wheel on this 
platform.

C:\Users\name\Anaconda3>pip install pygraphviz-1.3.1-cp27-none-
win_AMD64.whl
pygraphviz-1.3.1-cp27-none-win_AMD64.whl is not a supported wheel on this 
platform.

試してみたいことですが、適切に行う方法がわかりません:

Setup.pyを編集します。私は、パスを変更する際に解決策を見つける人々について多くのことを読みましたが、私はこれをどうするか本当にわかりません。この方法は非常に複雑に見えます。

ヘルプ/洞察力をありがとう!

25
adurbin

最も投票された回答は、pygraphvizではなくgraphvizをインストールしたようです。

Conda環境を使用している場合は、次のチャネルを使用してみてください。

conda install graphviz pygraphviz -c alubbock

networkx 2.1で試してみましたが、うまくいきました。

5
Tom Hanks

Windows 10 64ビットおよびPython 3.6。

手順:

  1. Graphivizサイトから Graphviz for windows をダウンロードします。
  2. Graphviz binパスC:\Program Files (x86)\Graphviz2.38\binをWindowsパスに追加します。
  3. パスの変更が認識されるように、端末を閉じて再度開きます。
  4. graphviz python 3.6 wheel をダウンロードします。
  5. Graphvizホイールを取り付けます。

    pip install graphviz-0.8.3-py2.py3-none-any.whl

  6. できた!

2
dot-nix

ここに私のために働いたものがあります:

勝利7 AMD64

  • MSFT C++コンパイラ をインストールします。
  • インストール Win AMD64用のAnaconda、Python
  • Winのgraphviz をインストールします。
  • C:\Program Files (x86)\Graphviz2.38\binをPATH環境変数に追加します。
  • ダウンロード pygraphviz-1.3.1-cp34-none-win_AMD64.whl .
  • Pythonバージョン3.4:conda create --name digraphs python=3.4 anaconda
  • 環境に入ります:activate digraphs
  • Pipを使用してpygraphvizをインストールします:pip install pygraphviz-1.3.1-cp34-none-win_AMD64.whl
  • 実行例:python ./gviz_simple.py
  • 環境を終了します:deactivate

私はそれについてgithubにいくつかのものを載せました。面倒です、ご自身の責任で使用してください: https://github.com/darkhipo/Easy-Digraph-Draw

1
darkhipo