最新 atomate 安装

截至 2024.11.12,最新的 atomate 及其依赖包版本分别为

1
2
3
4
5
# 包          # 版本          # 日期
atomate 1.1.0 2023.08.26
pymatgen 2024.10.29 2024.10.29
custodian v2024.10.16 2024.10.16
fireworks 2.0.3 2021.03.12

相关问题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 方式 1(好像不起作用?)
git clone https://github.com/materialsproject/fireworks

cd fireworks
python setup.py install

# 方式 2
pip install -U "ruamel.yaml<0.18.0"


# 报错内容
File "/path/env/lib/python3.11/site-packages/ruamel/yaml/main.py", line 1039, in error_deprecation
raise AttributeError(s, name=None)
AttributeError:
"safe_load()" has been removed, use

yaml = YAML(typ='safe', pure=True)
yaml.load(...)

instead of file "path/env/lib/python3.11/site-packages/fireworks/utilities/fw_serializers.py", line 256

dct = yaml.safe_load(f_str)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 生成 wf(workflow) 后,检查 metadata dict 中的值类型
for key, val in wf.metadata.items():
print(f"{key}: {type(val)}")

# output:
"""
structure: <class 'dict'>
nsites: <class 'int'>
elements: <class 'list'>
nelements: <class 'int'>
formula: <class 'str'>
formula_pretty: <class 'str'>
formula_reduced_abc: <class 'str'>
formula_anonymous: <class 'str'>
chemsys: <class 'str'>
is_ordered: <class 'bool'>
is_valid: <class 'numpy.bool_'>
"""

# 若存在 <class 'numpy.bool'>,将其转换成 bool 类型
# 如 key 为 "is_valid"
wf.metadata[key] = bool(wf.metadata[key])
  • my_qadapter.yaml 中的 walltime 参数会转换成秒的整数,不符合 Slurm 脚本规范
    • 可注释该参数
1
2
3
4
5
# my_qadapter.yaml 中
walltime: 24:00:00

# Slurm 脚本中;不符合规范
#SBATCH --time=86400