用Pymatgen时出现AttributeError该怎么解决

复现这一段关于materials project数据库的代码:
def que_p(target): # 分子式,比如Fe2O3
api_res = MPRester(API_KEY)
data = api_res.get_data(target, data_type='vasp')
return data
出现了这个问题:AttributeError: 'MPRester' object has no attribute 'get_data'
我安装的是python 3.9,pymatgen是2023.1.20版本的。想问问该怎么解决。是版本问题吗,如果是,应该下哪个版本?

你把报错复制出来发给我

这个错误可能是因为你使用的是过时的PyMatgen代码,因为最新版本的PyMatgen (2023.1.20) 中的MPRester类没有get_data方法。请检查官方文档以获取最新代码示例,并确保使用正确的方法。

def que_p(target): # 分子式,比如Fe2O3
    from pymatgen import MPRester
    API_KEY = 'your_api_key'
    api_res = MPRester(API_KEY)
    data = api_res.get_data(target, data_type='vasp')
    return data

可以看到,这段代码涉及到了 pymatgen 包中的 MPRester 类和它的 get_data 方法。你遇到了错误:


AttributeError: 'MPRester' object has no attribute 'get_data'

这是因为 pymatgen 在新版本中更改了它的接口,get_data 方法在最新版本中不再存在。你需要使用最新版本的 pymatgen,并对代码进行适当的更改。

建议查询 pymatgen 官方文档以了解最新版本的使用方