使用graph.write_png() 时出现 "dot.exe" not found in path 和 [Errno 13] Permission denied: 'somefile.png'

## 使用graph.write_png()出错 ##

最近在学习机器学习里面的决策树,看完理论了之后在网上找了鸢尾花的决策树实例来实现,但是到了最后一步graph.write_png(r"D:\python的学习笔记\somefile.png")的时候出现 "dot.exe" not found in path,查了之后发现是之前安装pydot和Graphviz时没有将Graphviz2.38添加到环境变量中,添加环境变量的代码如下:


import pydot

import os
os.environ['PATH'] = os.environ['PATH'] + (';D:\\Python\\Scripts\\graphviz-2.38\\release\\bin\\')

但是弄好环境变量之后用的代码是graph.write_png("somefile.png")
所以又出现[Errno 13] Permission denied: 'somefile.png' 这样的报错,所以我把代码改成了graph.write_png(r"D:\python的学习笔记\somefile.png") 就成功啦~~~~

希望能帮助到和我遇见同样问题的同学~~~


我再把我再网上找的鸢尾花的决策树demo附上吧…

from sklearn.datasets import load_iris
from sklearn import tree
from sklearn.tree import DecisionTreeClassifier, export_graphviz
import subprocess
import pydot

import os
os.environ['PATH'] = os.environ['PATH'] + (';D:\\Python\\Scripts\\graphviz-2.38\\release\\bin\\')

clf = tree.DecisionTreeClassifier()
iris = load_iris()
clf = clf.fit(iris.data, iris.target)
tree.export_graphviz(clf, out_file=r"D:\python的学习笔记\tree.dot")
(graph,) = pydot.graph_from_dot_file(r"D:\python的学习笔记\tree.dot")
graph.write_png(r"D:\python的学习笔记\somefile.png")

下面这个图片是最后的结果:
这里写图片描述
一起好好学习吧~~~

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
PermissionError: [Errno 13] Permission denied: './epoch_0/com_21/learned_graph_0.png'是一个权限错误,表示在尝试访问文件被拒绝了权限。这可能是由于以下原因之一引起的: 1. 没有足够的权限:检查当前用户对该文件的权限是否足够,如果不够,可以尝试用root权限或管理员权限运行程序。 2. 文件被其他进程占用:如果其他进程正在使用该文件,可能会导致权限错误。在尝试访问文件之前,请确保没有其他程序正在使用它。 3. 文件路径错误:请检查文件路径是否正确,并确保文件存在于指定位置。 修复这个问题的方法有以下几种: 1. 使用root权限运行程序:可以使用sudo命令或docker exec -u 0 -it 容器名称 /bin/bash命令以root用户身份运行程序。这将给予程序足够的权限来访问文件。 2. 检查文件权限:确保文件的访问权限设置正确,可以使用chmod命令更改文件的权限。 3. 确认Privileged状态:如果您是在Docker容器中运行程序,并且出现权限错误,请检查容器的Privileged状态。如果Privileged状态为false,则需要在Docker配置文件中添加privileged: true参数或在运行容器使用--privileged参数。 4. 检查文件是否被其他进程占用:使用lsof命令或类似的工具检查文件是否被其他进程打开和使用。如果是,则需要等待其他进程完成对文件的操作后再尝试访问。 请根据具体情况选择适合您的修复方法,并确保您具有足够的权限来访问该文件。<span class="em">1</span><span class="em">2</span><span class="em">3</span>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值