==============================================================================================
本方式是针对最新版本的pydot方法(该方法也不行了)
使用keras的utils的 plot_model功能报错,即使安装了pydot也无济于事。
`pydot` failed to call GraphViz.Please install GraphViz (https://www.graphviz.org/) and ensure that its executables are in the $PATH.
https://graphviz.gitlab.io/_pages/Download/Download_windows.html
下载smi文件一路next安装即可
下面这段是老版本pydot1.1.0的解决方案,现已被上面方式替代。
(平台和环境:win10 &&Anaconda &&PyCharm)
先安装graphviz,再安装pydot!!
(前提:你已经将你的Anaconda添加到环境变量中了)
按照网上的blog尝试了三种方法:
法一:
在cmd中输入“conda install graphviz”。
(不过按照这样安装了之后,我使用 from graphviz import Digraph时候仍然报错,表示找不到模块graphviz)
法二:
在cmd中输入“pip install graphviz”。
(按照这样安装了之后,我使用 from graphviz import Digraph时候仍然报错,表示找不到模块graphviz)
法三:
到官网下载graphviz的安装包(可选择msi格式),这里我提供个链接, 一直按next(记住安装路径,比如在我的电脑上它的安装路径是C:\Program Files (x86)\Graphviz2.38),然后将该目录下的bin文件夹添加到系统的环境变量中(即把C:\Program Files (x86)\Graphviz2.38\bin添加进环境变量中), 最后在cmd输入“dot-version”并按回车,若显示出graphviz的相关版本信息,则安装配置成功。
(按照这样安装了之后,可以正常使用graphviz包了,无报错信息!)
1、在cmd输入“pip install pydot”。
2、使用pydot.find_graphviz()时发现报错:AttributeError: module ‘pydot’ has no attribute ‘find_graphviz’。
在谷歌和StackOverflow上查找了一番之后,发现如今默认安装的pydot为1.2.4版本,而此版本的pydot已经不再支持find_graphviz功能,只有1.1.0版本支持该方法。。。。orz。。。。
尝试了网上的几种做法,分享一下:
第一种:
在cmd输入“pip install pydot==1.1.0”。
(但是在我的环境里输入这条命令后报错 SyntaxError: invalid syntax,好像行不通)
第二种:
在cmd输入“pip install pydot-ng”。
(我成功安装了pydot-ng,但是并没有解决find_graphviz的报错问题,依然报错)
第三种:
果断手工安装pydot1.1.0!
到网上找到并下载pydot1.1.0的安装包(可以是zip格式),这里我提供个链接,名字为pydot-1.1.0.zip。然后将其置于一个特定的目录下(比如D:\pydot-1.1.0.zip),然后在cmd中进入D盘,输入 “pip install pydot1.1.0.zip”,即可安装成功!
1. 原因是: 你没有将Graphviz安装目录的bin目录添加到系统的环境变量中,进行添加即可;
2. 若添加之后仍然报错,则尝试另一种方法:
找到你安装pydot的目录(具体可参照”五“),找到pydot.py文件,然后用编辑器打开(可以使用Notepad++或者EditPlus),之后找到”def find_graphviz()“这个函数下的” # Method 3 (Windows only)“这个标志,然后将这个标志下的那段代码改为下面这段代码:
# Method 3 (Windows only)
#
if os.sys.platform == 'win32':
# Try and work out the equivalent of "C:\Program Files" on this
# machine (might be on drive D:, or in a different language)
#
if False:#os.environ.has_key('PROGRAMFILES'):
# Note, we could also use the win32api to get this
# information, but win32api may not be installed.
path = os.path.join(os.environ['PROGRAMFILES'], 'ATT', 'GraphViz', 'bin')
else:
#Just in case, try the default...
path = r"C:\Program Files (x86)\Graphviz2.38\bin"
progs = __find_executables(path)
if progs is not None :
#print "Used default install location"
return progs
for path in (
'/usr/bin', '/usr/local/bin',
'/opt/bin', '/sw/bin', '/usr/share',
'/Applications/Graphviz.app/Contents/MacOS/' ):
progs = __find_executables(path)
if progs is not None :
#print "Used path"
return progs
# Failed to find GraphViz
#
return None
(PS:其中”C:\Program Files (x86)\Graphviz2.38\bin“是我安装graphviz时的bin文件夹路径,朋友们只要改成你们自己安装的graphviz的bin文件夹路径即可~~)
假设你已经找到了Anaconda的安装目录,则“anaconda3\Lib\site-packages”目录下就是第三方包的存在位置。有时要找到Anaconda的安装目录也不容易(加上你忘记它默认安装在哪里了),因为
使用默认安装的话,它会将安装路径设为“C:\Users\你的用户名\AppData\Local\Continuum\anaconda3”,其中有时AppData这个目录你会找不到,其实是被隐藏起来了,只需点击文件资源管理器上方的“查看”选项卡,将“隐藏的项目”那一项勾选即可,你会发现AppData以浅黄色半透明的文件夹方式显现出来了哈哈。。。
转自:
https://blog.csdn.net/WuchangI/article/details/79589542
https://blog.csdn.net/Python_Ai_Road/article/details/89159247