pydotとgraphvizのインストール方法は?


24

pydotとgraphvizを必要とするコードを実行しています。私はPython 3.5とubuntu 16.04 LTS 64ビットを使用しています。

  File "/usr/local/lib/python3.5/dist-packages/keras/utils/vis_utils.py", line 17, in _check_pydot
    raise ImportError('Failed to import pydot. You must install pydot'
ImportError: Failed to import pydot. You must install pydot and graphviz for `pydotprint` to work.

私は少しグーグルでコードを使ってpydotをインストールできることを発見しましたpip install pydot。しかし、私はこのエラーが発生することを知っています。私はubuntuの初心者であり、何をすべきか理解できません。pydotのインストール方法は?

deeplearning@deep-learning-virtual-machine:~$ pip install pydot
Collecting pydot
Collecting pyparsing>=2.1.4 (from pydot)
  Using cached pyparsing-2.2.0-py2.py3-none-any.whl
Installing collected packages: pyparsing, pydot
  Found existing installation: pyparsing 2.0.3
    Uninstalling pyparsing-2.0.3:
Exception:
Traceback (most recent call last):
  File "/usr/lib/python3.5/shutil.py", line 538, in move
    os.rename(src, real_dst)
PermissionError: [Errno 13] Permission denied: '/usr/lib/python3/dist-packages/__pycache__/pyparsing.cpython-35.pyc' -> '/tmp/pip-45miiuxw-uninstall/usr/lib/python3/dist-packages/__pycache__/pyparsing.cpython-35.pyc'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/usr/local/lib/python3.5/dist-packages/pip/commands/install.py", line 342, in run
    prefix=options.prefix_path,
  File "/usr/local/lib/python3.5/dist-packages/pip/req/req_set.py", line 778, in install
    requirement.uninstall(auto_confirm=True)
  File "/usr/local/lib/python3.5/dist-packages/pip/req/req_install.py", line 754, in uninstall
    paths_to_remove.remove(auto_confirm)
  File "/usr/local/lib/python3.5/dist-packages/pip/req/req_uninstall.py", line 115, in remove
    renames(path, new_path)
  File "/usr/local/lib/python3.5/dist-packages/pip/utils/__init__.py", line 267, in renames
    shutil.move(old, new)
  File "/usr/lib/python3.5/shutil.py", line 553, in move
    os.unlink(src)
PermissionError: [Errno 13] Permission denied: '/usr/lib/python3/dist-packages/__pycache__/pyparsing.cpython-35.pyc'

1
pip install pydot>=1.2.4およびsudo apt-get install graphviz
イオアニスフィリピディス17年

回答:


38

python-pydotとgraphvizは、現在サポートされているすべてのバージョンのUbuntuのデフォルトのUbuntuリポジトリにあります。現在サポートされているすべてのバージョンのUbuntuで、ターミナルを開いて次のように入力します。

sudo apt install python-pydot python-pydot-ng graphviz # python-pydot-ng isn't in the 14.04 repos

このフローチャートは、Ubuntuのgraphvizで作成されました。graphvizはgraphvizパッケージに含まれている組み込みのドットプログラミング言語を使用するため、python-pydotがインストールされていなくても、リンクフローチャートのソースコードはテキストエディターで編集可能です。

Ubuntuリポジトリからpydotを入手できるのに、なぜpydotでpydotをインストールしたいのかわかりませんが、質問に答えるために、とにかくPython仮想環境にpydotをインストールしてみましたが、pip3 install pydotそれが機能した可能性がありますでpipを最新バージョンに更新する必要がありsudo -H pip3 install --upgrade pipます。私がpip3代わりに使用したのpipは、あなたが質問にPython 3.5を使用していると書いたからです。


うわー、ありがとう:)あなたがそれを更新したとき、私はあなたのコメントをフォローしてきました。ようやく機能しました。私はubuntuでもっとグーグルアップする必要があると思います。pip、pip3、apt、apt-get ...そのすべては非常に複雑です。
コング

Ubuntuのでは、PyPIからの多くのパッケージは、デフォルトのUbuntuのリポジトリに含まれており、そのパッケージ名は通常で始まるされているpython-通常と前置きされ、同様にPIP3のためには、Ubuntuのリポジトリでのパッケージ名をパッケージ化python3-
カレル・

pip推奨されるアプローチは、PyPIから直接パッケージをインストールすることです。最新バージョン(Ubuntuリポジトリは古くなっている可能性があります)、必要に応じて要件ファイルで管理され、にインストールされvirtualenvます。システムのサイトパッケージではありません
イオアニスフィリピディス17年

6

「Anaconda環境でのpydotおよびgraphvizパッケージのインストール」に関するこの回答から

私は同じ問題を抱えていて、それを解決しました(順序が重要です):

  1. インストールgraphviz、単に経由sudo apt-get install graphviz
  2. graphvizcondaを介したPythonのインストールsudo ~/anaconda2/bin/conda install graphviz
  3. 最後に、pydotconda を使用してインストールするsudo ~/anaconda2/bin/conda install pydot

この回答は、期限を過ぎているが、この記事は(と一緒に私を助けたこの1、そううまくいけば、この答えは、他の誰かを助けるインストール順に言及します)。Ubuntu 14.04とPython 2.7を使用しています。

PSどうやら、上記のアルゴリズムのステップ1にいくつかの問題がある可能性があります。この投稿では、それらを修正する方法について言及しています。


2
盗用しないでください。それはサイトのルールに反していませんが、確かにクールではありません。代わりに、回答をコピーして貼り付け、そのソースを帰属させることができます。回答を編集してデモを行います。
wjandrea


0

Ubuntu 17.10では、ffが問題を修正しました。

sudo apt-get install python3-pydot graphviz
sudo pip3 install pydot_ng
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.