“safe_load()“ has been removed, use yaml = YAML(typ=‘safe‘, pure=True) yaml.load(...)

报错信息:

“safe_load()” has been removed,
use yaml = YAML(typ=‘safe’, pure=True)
yaml.load(…)

2023-12-25更新:

最主要的问题还是包的版本太新了,降一下版本就好了
在这里插入图片描述
有这么多任君选择,当然也别选太老的版本= =
我是由0.18.5降到0.16.6就可以了


以下是之前的回答:

找到报错这个的文件,
我的是:

File "/home/zyc/anaconda3/envs/EVcouple/lib/python3.7/site-packages/evcouplings/utils/config.py", line xx
就是你调用safe_load()函数的那行

首先根据以上修改信息后,仍然报错,官方又提示说修改为:
“load()” has been removed,
use yaml = YAML(typ=‘rt’)
yaml.load(…)
按照以上提示修改之后,虽然不再报load的错误了,但是出现以下错误:

  File "/home/zyc/anaconda3/envs/EVcouple/lib/python3.7/site-packages/evcouplings/utils/config.py", line 15, in <module>
    yaml = YAML(typ='rt')
TypeError: 'module' object is not callable

原来是调用包的方法出错,参考:https://blog.csdn.net/a1034996/article/details/108105428
修改为:
yaml = YAML.YAML(typ=‘rt’)
就可以了不报错了

综上:
找到报错文件:
修改后调用代码为:

import ruamel.yaml as YAML

yaml = YAML.YAML(typ='rt')

以及相应调用safe_load的地方修改为:

 #修改前:
 return yaml.safe_load(config_str)
#修改后           
return yaml.load(config_str)

又是改BUG的一天。。。。。。

这样如果你下面还有地方调用yaml,会提示说没有xx attribute
修改办法是 把yaml改为调用的YAML, 名字跟这里相同(import ruamel.yaml as YAML)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值