“safe_load()” has been removed,
use yaml = YAML(typ=‘safe’, pure=True)
yaml.load(…)
最主要的问题还是包的版本太新了,降一下版本就好了
有这么多任君选择,当然也别选太老的版本= =
我是由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
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)