alignn icon indicating copy to clipboard operation
alignn copied to clipboard

cannot import name 'Mapping' from 'collections' (/usr/lib/python3.12/collections/__init__.py)

Open miroi opened this issue 2 months ago • 2 comments

Hello,

pip installation based on https://github.com/usnistgov/alignn?tab=readme-ov-file#method-3-using-pypi

removes most recent git dgl version and installs older version ..

how to tell alignn to use proper dgl version ?

Name: dgl
Version: 0.1.3

Name: alignn
Version: 2025.4.1

python alignn_structure_relaxation_phonons_interface.py
Traceback (most recent call last):
  File "/home/miroi/work/projects/open-collection/theoretical_chemistry/software/alignn-ase/wsl2/alignn_structure_relaxation_phonons_interface.py", line 50, in <module>
    from alignn.ff.ff import (
  File "/home/miroi/work/software/myenv/lib/python3.12/site-packages/alignn/ff/ff.py", line 31, in <module>
    from alignn.pretrained import get_prediction
  File "/home/miroi/work/software/myenv/lib/python3.12/site-packages/alignn/pretrained.py", line 8, in <module>
    from alignn.models.alignn import ALIGNN, ALIGNNConfig
  File "/home/miroi/work/software/myenv/lib/python3.12/site-packages/alignn/models/alignn.py", line 7, in <module>
    import dgl
  File "/home/miroi/work/software/myenv/lib/python3.12/site-packages/dgl/__init__.py", line 5, in <module>
    from . import contrib
  File "/home/miroi/work/software/myenv/lib/python3.12/site-packages/dgl/contrib/__init__.py", line 1, in <module>
    from . import sampling
  File "/home/miroi/work/software/myenv/lib/python3.12/site-packages/dgl/contrib/sampling/__init__.py", line 1, in <module>
    from .sampler import NeighborSampler
  File "/home/miroi/work/software/myenv/lib/python3.12/site-packages/dgl/contrib/sampling/sampler.py", line 5, in <module>
    from ... import utils
  File "/home/miroi/work/software/myenv/lib/python3.12/site-packages/dgl/utils.py", line 4, in <module>
    from collections import Mapping, Iterable
ImportError: cannot import name 'Mapping' from 'collections' (/usr/lib/python3.12/collections/__init__.py)

miroi avatar Oct 26 '25 19:10 miroi

Well, I still get combination "alignn-2025.4.1 dgl-0.1.3", instead of having dgl 2.4.0 from "pip install -q dgl -f https://data.dgl.ai/wheels/torch-2.1/repo.html"

(myenv) miroi@MIRO:~/work/projects/open-collection/theoretical_chemistry/software/alignn-ase/wsl2/.pip install -q dgl -f https://data.dgl.ai/wheels/torch-2.1/repo.html
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
alignn 2025.4.1 requires dgl<=1.1.1, but you have dgl 2.4.0 which is incompatible.

miroi avatar Oct 26 '25 19:10 miroi

thanks @miroi

dipayanster avatar Oct 27 '25 08:10 dipayanster