背景
ASEのバージョン3.23をご使用中、FixSymmetryをimportする際にImport Errorが発生する事象が確認されています。
回避方法
3.22以前の表記をご利用の方は、3.23での表記または両対応の表記へとご修正ください。
3.22以前の表記
from ase.spacegroup.symmetrize import FixSymmetry
3.23での表記
from ase.constraints import FixSymmetry
3.22, 3.23両方に対応できる表記
try:
from ase.constraints import FixSymmetry
except ImportError:
from ase.spacegroup.symmetrize import FixSymmetry
原因
ASE3.23にて、FixSymmetryがase.constraintsへ移動されたことに由来します。
3.22, 3.23両対応の表記方法では
・ase.constraintsからFixSymmetryをインポートする
・失敗した場合(aseが3.22以前のバージョンの場合)はase.spacegroup.symmetrizeからインポートする
となるように設定しております。
参考
該当のGithubのページ
・旧バージョン3.22.1(ase/spacegroup/symmetrize.pyにFixSymmetryあり)
https://gitlab.com/ase/ase/-/blob/3.22.1/ase/spacegroup/symmetrize.py?ref_type=tags
・新バージョン3.23.0(ase/spacegroup/symmetrize.pyにFixSymmetryなし)
https://gitlab.com/ase/ase/-/blob/3.22.1/ase/spacegroup/symmetrize.py?ref_type=tags
・新バージョン3.23.0(ase/constraints.pyにFixSymmetryあり)
https://gitlab.com/ase/ase/-/blob/master/ase/constraints.py?ref_type=heads#L2290