关于Windows下的bug:OSError: pydot failed to call GraphViz.Please install GraphViz问题解决
今天在家使用CPU训练时,发现pycharm报出OSError: pydot failed to call GraphViz.Please install GraphViz的错误。
之后就是一波的百度操作,尝试使用了几种方法来解决,网上有大致如下几种方法:
第一种:
简单粗暴,安装GraphViz。直接在anaconda环境中pip install GraphViz。
然而并没有什么卵用
第二种:
1、在[GraphViz的官网]下载对应的系统版本,本文是Windows版本,选择(http://www.graphviz.org/download/)上Stable 2.38 Windows install packages–>graphviz-2.38.zip下载安装(PS:我的电脑直接使用网页安装网速极慢,大概几K,建议安装迅雷,鼠标右击选择迅雷下载,下载非常nice)

2、添加GraphViz的环境变量。解压安装GraphViz后,在桌面我的电脑右击依次选择属性–>高级系统设置–>环境变量–>选择path添加(选择GraphViz的安装路径)
我的是D:\GraphViz\release\bin

3、重启pycham。ps:可能有些人到这里就可以解除bug,但是我的并没有。
第三种:
1、想到这里,可能是pydot和GraphViz的版本对应不起来。于是我将pydot和GraphViz全部pip uninstall,重新安装。
2、看了很多博客,可能是我安装的pydot和GraphViz的顺序搞错了。
**notice:先安装GraphViz,再安装pydot。
可以pip install GraphViz 或者按照方法二中的离线安装方式
3、查到GraphViz2.38对应版本的pydot应该是1.2之前的版本,但是直接pip install pydot的版本是1.4,显然不对。于是我尝试pip install pydot==1.1.0,然而却报错 SyntaxError: invalid syntax。
之后尝试多过先下载pydot1.1.0,然后离线安装,却没有成功,依然报错。
接着尝试,相信接下来的方法适合大多数的情况
直接pip install GraphViz,注意这时就是安装的最新版本。下面通过修改pydot.py的源文件来接触bug。
**a、**如何找到pydot.py?
以我的为例,我新建的环境是tensorflow,具体路径是
F:\anaconda\envs\tensorflow\Lib\site-packages。当然也可以直接在安装anaconda的盘里搜索pydot.py。
b、打开pydot.py
建议使用notepad打开。
在notepad中查找’set_prog’,找到创建的set_prog函数
改为如下所示

其中path是之前方法二中的GraphViz的安装路径。PS:
windows下目录一定要要使用\ \,而不是\,否则依然不成功!!!!!!!!
**c、**在pydot.py中查找creat,修改如下。小伙伴可以查看具体的行号。

记得保存pydot.py!
再重新运行,完美解决。
本文详细介绍了在Windows环境下,遇到OSError:pydotfailedtocallGraphViz问题的解决方案。包括安装GraphViz、调整pydot和GraphViz的安装顺序、修改pydot.py源文件等步骤。

1971

被折叠的 条评论
为什么被折叠?



