如何安装 pydot 和 graphviz?

如何安装 pydot 和 graphviz?

我正在运行需要 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

python-pydot 和 graphviz 位于所有当前支持的 Ubuntu 版本的默认 Ubuntu 存储库中。在所有当前支持的 Ubuntu 版本中,打开终端并输入:

sudo apt install python3-pydot graphviz 

流程图是在 Ubuntu 中使用 graphviz 创建的。由于 graphviz 使用 graphviz 包中包含的内置 dot 编程语言,因此即使未安装 python-pydot,也可以在任何文本编辑器中编辑链接流程图的源代码。

我不知道为什么你会想要用 pip 安装 pydot,而你可以从 Ubuntu 存储库中获取它,但为了回答你的问题,我尝试在 Python 虚拟环境中安装 pydot 并且pip3 install pydot成功了,所以你可能需要用 将 pip 更新到最新版本sudo -H pip3 install --upgrade pip。我使用了pip3而不是 ,pip因为你在问题中写道你正在使用 Python 3.5。

答案2

这个答案关于“在 Anaconda 环境中安装 pydot 和 graphviz 包”

我遇到了同样的问题,并通过以下方式解决了它(顺序是重要的):

  1. 安装graphviz,只需通过sudo apt-get install graphviz
  2. 通过 conda安装graphvizPythonsudo ~/anaconda2/bin/conda install graphviz
  3. 最后,pydot使用 conda安装sudo ~/anaconda2/bin/conda install pydot

这个答案已经过期了,但这篇文章帮助了我(连同这个提到安装顺序),所以希望这个答案能帮助别人。我使用的是 Ubuntu 14.04 和 Python 2.7。

PS:显然,上述算法的第一步可能存在一些问题,这个帖子提到如何修复它们。

答案3

因为你使用的是 python 3,所以正确的命令是pip3 install pydot graphviz。你可以使用 安装 pip3 sudo apt install python3-pip

答案4

在 Ubuntu 17.10 上,ff 修复了该问题:

sudo apt-get install python3-pydot graphviz
sudo pip3 install pydot_ng

相关内容