Keras ImportError:导入pydot失败。您必须安装pydot和graphviz才能使“pydotprint”正常工作

Keras ImportError:导入pydot失败。您必须安装pydot和graphviz才能使“pydotprint”正常工作,keras,graphviz,importerror,pydot,Keras,Graphviz,Importerror,Pydot,我见过类似的问题,但也没有解决,所以我决定问 我正在尝试使用 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

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

我正在尝试使用

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并重新打开它。当我运行代码片段时,它仍然显示相同的错误。
我缺少什么?

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

sudo apt install python-pydot python-pydot-ng graphviz 

对我来说,我所要做的就是安装graphviz和pydot:

在Python3上:

pip3 install pydot-ng
pip3 install graphviz
关于Python2:

pip3 install pydot-ng
pip3 install graphviz

这为我解决了这个错误

以下命令为我解决了问题

  • pip安装pydot
  • pip安装pydotplus
  • sudo-apt-get-install-graphviz

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

    这些命令对我有效。我做到了:

    conda install -c https://conda.binstar.org/t/TOKEN/j14r pydot
    conda install -c https://conda.binstar.org/t/TOKEN/j14r graphviz
    sudo apt install python-pydot python-pydot-ng graphviz 
    
    从以下位置找到解决方案:

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

    conda uninstall pydot
    conda uninstall pydotplus
    conda uninstall graphviz
    
    然后


    注意:安装pydot还安装了graphviz,看起来您在使用Windows。在这种情况下,请参见 和/或

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

    pip install pydot
    pip install pydotplus
    pip install graphviz
    
    然后:

    • 从下载并安装graphviz二进制文件
    • 将路径添加到系统路径中的graphviz bin文件夹

    我在Windows
    cmd
    窗口中运行python脚本
    myscript.py
    。我必须关闭并重新打开它来刷新路径,但是
    plot_model()
    生成的输出很好。

    即使在安装
    pydot
    之后,
    pydotplus
    graphviz
    我遇到了一个错误,即在环境路径中找不到
    dot

    所以我从安装了graphviz-2.38.msi

    但是,问题仍然存在,直到我从
    **keras.utils.plot\u model**
    切换到
    **tf.keras.utils.plot\u model**

    这对我很有效:

    在我的虚拟环境(Python 3)中安装:

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

    要导入它,请执行以下操作:

    import pydot_ng as pydot
    
    试试这个

    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
    

    这对我有用。请查看此->

    了解jupyter笔记本电脑安装要求后重新启动笔记本电脑。它对我有用。

    这对我有用

    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)
    

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

  • 安装(64位不工作)
  • 将Graphviz路径
    C:\Program Files(x86)\Graphviz\bin
    添加到系统和用户的
    path
    环境变量中
  • 安装TensorFlow 2.3.0使用的pydot ng

  • 它在SpuderIDE中工作。其主要思想是减少导入库的数量

    from keras.utils.vis_utils import pydot
    from keras.utils.vis_utils import plot_model
    
    plot_model(model, to_file='model.png', show_shapes=True, show_layer_names=True)
    
    关于win10 anaconda3 以管理员身份运行启动命令提示符 然后

    这将为您提供有效的graphviz2.38。 这比从中下载安装程序的方式要好,在我的机器上不起作用。 然后您可以pip安装pydot以确保您拥有它。 然后重新启动内核,一切都会好起来。 如果没有,, pip安装graphviz,因为它似乎是必要的python包装器。
    在上面的
    conda install
    命令之前,我还尝试了
    pip intsall pydot ng pydotplus
    。他们当时没有帮助。

    请查看@loannis Filippidis的可能副本,谢谢,是的,它说安装的GraphViz可执行文件(dot、neato等)的路径需要在path环境变量中,以便pydot找到它们。pydot曾经在早期版本中搜索这些可执行文件,但现在不再搜索了。如果你是这个意思,我不知道怎么做,很抱歉,你能更具体地一步一步地做什么吗?上面提到的答案链接到路径配置的相关信息。是的,我看到了,但我无法让它工作。我想说的是,我不知道如何在Path环境中放置已安装GraphViz可导出文件(dot、neasto等)的路径。我是windows的新用户Ye:找不到python pydot ngJust
    conda安装包-c conda forge pydot graphviz
    works请不要只发布代码作为答案,还要解释代码的作用以及它如何解决问题。带有解释的答案通常更有帮助,质量更好,并且更有可能吸引更多的选票。这个答案展示了如何使用plot_模型函数,OP已经证明了他们知道如何做。问题是关于解决pydot和graphviz安装错误。请尝试查看graphviz是否从conda安装。如果是,请将其从pip上拆下并安装。这就是帮助我解决这个问题的原因。这表明您已经将keras和tensorflow作为tf导入。目前的建议是不要导入keras,而是在需要访问keras函数时使用tf.keras。对我有用,谢谢!
    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
    
    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)
    
    from tensorflow.keras.utils import plot_model
    
    # model = Model(...)
    
    plot_model(model, to_file='model.png', show_shapes=True, show_layer_names=True)
    
    from keras.utils.vis_utils import pydot
    from keras.utils.vis_utils import plot_model
    
    plot_model(model, to_file='model.png', show_shapes=True, show_layer_names=True)
    
    conda install graphviz