ImportError:无法导入pydot.您必须为`pydotprint`安装pydot和graphviz才能工作

voo*_*doo 10 graphviz importerror pydot keras

我见过类似的问题,但也没有解决,所以我决定问.

我想用keras在keras中可视化我的模型

from keras.utils import plot_model
plot_model(model, to_file='model.png')
Run Code Online (Sandbox Code Playgroud)

首先,它显示错误

ImportError: Failed to import pydot. You must install pydot and graphviz for `pydotprint` to work.
Run Code Online (Sandbox Code Playgroud)

因此,我通过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
Run Code Online (Sandbox Code Playgroud)

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

iun*_*n1x 38

以下命令为我解决了问题

  1. pip 安装 pydot
  2. pip 安装 pydotplus
  3. sudo apt-get 安装 graphviz

  • 在 Windows 中,因为我已经安装了 conda,所以我使用 `conda install graphviz` 而不是 `sudo apt-get install graphviz` 并且它有效。谢谢你! (3认同)

oma*_*tai 19

看起来您正在使用 Windows。在这种情况下,请在 gitub 上查看此 SO Q&A 流 和/或此 Keras 问题

根据两个来源的提示,似乎存在安装错误和/或路径错误。我pip uninstall在所有相关的包上使用过,然后:

pip install pydot
pip install pydotplus
pip install graphviz
Run Code Online (Sandbox Code Playgroud)

然后:

  • 这里下载并安装 graphviz 二进制文件
  • 在系统PATH中添加graphviz bin文件夹的路径

myscript.py在 Windowscmd窗口中运行 python 脚本。我不得不关闭并重新打开它以刷新 PATH,但随后plot_model()产生的输出很好。


小智 19

我通过安装解决了这个问题:

conda install graphviz
conda install pydot
conda install pydotplus
Run Code Online (Sandbox Code Playgroud)

PS:我用以下命令调用了plot_model:

from tensorflow.keras.utils import plot_model
Run Code Online (Sandbox Code Playgroud)

现在正在发挥作用。

  • 它对我也有用。我首先使用 pip 安装了这些软件包,但这不起作用。conda 安装成功 (2认同)

小智 6

重新启动内核为我解决了这个问题,不需要 pydot-ng。


Sim*_*men 6

在没有Anaconda 的Windows 10 上使用 TensorFlow 2.3.0 ,以下(最终)对我有用:

  1. 安装Graphviz 32 位(64 位不起作用)
  2. 将 Graphviz 路径添加C:\Program Files (x86)\Graphviz\bin到系统和用户的PATH环境变量中
  3. 安装 pydot-ng,这是TensorFlow 2.3.0 使用的首选 pydot 库
from tensorflow.keras.utils import plot_model

# model = Model(...)

plot_model(model, to_file='model.png', show_shapes=True, show_layer_names=True)
Run Code Online (Sandbox Code Playgroud)


小智 5

使用下一个命令安装它们:

sudo apt install python-pydot python-pydot-ng graphviz 
Run Code Online (Sandbox Code Playgroud)


小智 5

解决方案来自:https : //github.com/XifengGuo/CapsNet-Keras/issues/69#issuecomment-483273641

我按照卸载和重新安装 pydot + pydotplus 的建议成功地解决了我使用 Anaconda 3 的 Windows 10 机器上的问题。

conda uninstall pydot
conda uninstall pydotplus
conda uninstall graphviz
Run Code Online (Sandbox Code Playgroud)

然后

conda install pydot
conda install pydotplus
Run Code Online (Sandbox Code Playgroud)

注意:安装pydot也安装了graphviz