导入错误:无法导入pydot。您必须安装pydot和graphviz才能使`pydotprint`正常工作。

77

我看到了类似的问题,但也没有解决,所以我决定问一下。

我正在尝试使用Keras可视化我的模型。

from keras.utils import plot_model
plot_model(model, to_file='model.png')

首先,它显示了错误。

ImportError: Failed to import pydot. You must install pydot and graphviz for `pydotprint` to work.

因此,我通过Anaconda提示符安装了pydot和graphviz,并在激活我的环境后进行了安装。
conda install -c https://conda.binstar.org/t/TOKEN/j14r pydot
conda install -c https://conda.binstar.org/t/TOKEN/j14r graphviz

然后,我关闭了 Spyder 并重新打开了它。当我运行代码片段时,仍然显示相同的错误。 我错过了什么吗?


1
请查看 https://dev59.com/-FYN5IYBdhLWcg3wm5EL#47209738 - 0 _
1
可能是keras plot_model 告诉我安装pydot的重复问题。 - 0 _
1
@loannis Filippidis,谢谢,是的,它说:“已安装的GraphViz可执行文件(dot、neato等)的路径需要在PATH环境变量中,以便pydot找到它们。在早期版本中,pydot曾经搜索这些可执行文件,但现在不再这样做。”如果您是指这个问题,我不知道如何做,对此很抱歉,您能否更具体地说明一下步骤? - bit_scientist
@loannisFilippidis,我在_C:\Users\username\Anaconda3\envs\tfcnn\Library\bin\graphviz_中找到了dot和neato可执行文件,并将其添加到系统属性>环境变量>系统变量>编辑中。但是它似乎没有起作用! - bit_scientist
我不是Windows用户。也许需要重新启动计算机才能使新路径生效。在Linux系统中,通常通过“~/.bashrc”配置路径。 - 0 _
显示剩余2条评论
23个回答

2
在Win10上使用Anaconda3,以管理员身份启动命令提示符,然后执行以下操作:
conda install graphviz

这将为您提供可用的graphviz2.38。 这比从https://graphviz.gitlab.io/download/#windows下载安装程序的方式要好,因为它不适用于我的计算机。 然后,您可以pip安装pydot以确保您拥有它。 然后重新启动内核,应该就没问题了。 如果没有, pip install graphviz,因为它似乎是必要的python包装器。 我之前也尝试过pip intsall pydot-ng pydotplus,但那时它们没有起作用。

2

这个方法对我有用

import keras.utils.vis_utils
from importlib import reload
reload(keras.utils.vis_utils)


from keras.utils.vis_utils import plot_model    
plot_model(model, to_file='model_plot.png', show_shapes=True, show_layer_names=True)

1

对我来说,我只需要安装graphviz和pydot:

在Python3上:

pip3 install pydot-ng
pip3 install graphviz

在Python2中:

pip3 install pydot-ng
pip3 install graphviz

这为我解决了错误。


1
尝试一下。
import keras
import pydot
import pydotplus
from pydotplus import graphviz
from keras.utils.vis_utils import plot_model
from keras.utils.vis_utils import model_to_dot
keras.utils.vis_utils.pydot = pydot

这对我很有帮助。看看这个 -> https://github.com/XifengGuo/CapsNet-Keras/issues/69

0

使用pip安装pydot和pydotplus。下载graphviz的exe文件并安装。将graphviz添加到PATH中。重新启动并检查。它会工作。


1
你的回答可以通过添加更多支持信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人可以确认你的答案是正确的。您可以在帮助中心找到有关如何编写良好答案的更多信息。 - Community

0
  1. https://www.graphviz.org/download/安装Graphviz

  2. 导入:

    from tensorflow.python.keras.utils.vis_utils import model_to_dot

    from tensorflow.python.keras.utils.vis_utils import plot_model


0

我正在使用Jupyter Notebook。我尝试了这个和其他线程中的所有方法,但都没有成功。然后我找到了这个方法,它对我有用:

  1. 关闭Jupyter Notebook。
  2. 打开新的Anaconda提示符。
  3. conda install --channel conda-forge pygraphviz

打开Jupyter Notebook并确保您具有以下导入:

  • from tensorflow.keras.utils import plot_model
  • import pydot
  • import pydotplus
  • from pydotplus import graphviz

0

pip install pydot pip install jupyterlab

前往https://graphviz.org/download/下载并安装Graphviz

import os #os.environ["PATH"] += os.pathsep + 'C:/Program Files/Graphviz/bin/'

tf.keras.utils.plot_model(model = titanic_preprocessing , rankdir="LR", dpi=72, show_shapes=True)


您的答案可以通过提供额外的支持信息来改善。请[编辑]以添加进一步的细节,例如引用或文档,以便他人可以确认您的答案是否正确。您可以在帮助中心中找到有关如何编写良好答案的更多信息。 - Community

0
这对我有用:
在我的虚拟环境中安装(Python 3):
pip3 install pydot_ng

在机器级别安装(如果仅在环境中安装,则无法正常工作):

sudo apt-get install graphviz

导入它:

import pydot_ng as pydot

-1

针对Jupyter Notebook,在安装完必备的前置条件后,请重新启动Notebook。这个方法在我的电脑上行得通。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接