如何解决导出回归树到graphviz时出现backend无ENCODING属性错误
报错原因
你遇到的AttributeError: module 'graphviz.backend' has no attribute 'ENCODING'报错,核心原因是Python版graphviz库0.18及以上版本重构了内部模块结构,移除了原backend模块下的ENCODING常量,你之前重装时默认安装了最新不兼容版本,所以问题没有解决。
可行解决方案
- 第一步先卸载当前环境中所有graphviz相关Python包,避免冲突:
pip环境执行命令:pip uninstall -y graphviz python-graphviz
conda环境执行命令:conda uninstall -y graphviz python-graphviz - 第二步安装经过验证的兼容版本0.17.1:
pip环境执行命令:pip install graphviz==0.17.1
conda环境执行命令:conda install graphviz==0.17.1 - 若安装后运行代码提示找不到graphviz可执行程序,需要补充安装graphviz系统运行包:Windows用户下载官方msi安装包后将安装目录下的bin文件夹路径加入系统环境变量PATH,Linux用户执行
sudo apt install graphviz,Mac用户执行brew install graphviz即可。 - 不要在环境中同时安装
graphviz和python-graphviz两个包,二者会产生模块冲突,触发同类报错。
内容的提问来源于stack exchange,提问作者Rayner
相关产品推荐
相关产品推荐

