XLSForm/pyxform

Importing the ABCs from 'collections' instead of from 'collections.abc' not supported on python 3.10

Closed this issue · 1 comments

Software and hardware versions

pyxform v2.0.2, Python v3.10.13

Problem description

Importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated and no longer supported on python 3.10

Steps to reproduce the problem

Traceback (most recent call last):                                                                                                                                                                                 
  File "/home/kip/src/ona/onadata/manage.py", line 21, in <module>                                                                                                                                                 
    execute_from_command_line(sys.argv)                                                                                                                                                                            
  File "/home/kip/.virtualenvs/onadata310/lib/python3.10/site-packages/django/core/management/__init__.py", line 419, in execute_from_command_line                                                                 
    utility.execute()                                                                                                                                                                                              
  File "/home/kip/.virtualenvs/onadata310/lib/python3.10/site-packages/django/core/management/__init__.py", line 395, in execute                                                                                   
    django.setup()                                                                                                                                                                                                 
  File "/home/kip/.virtualenvs/onadata310/lib/python3.10/site-packages/django/__init__.py", line 24, in setup                                                                                                      
    apps.populate(settings.INSTALLED_APPS)                                                                                                                                                                         
  File "/home/kip/.virtualenvs/onadata310/lib/python3.10/site-packages/django/apps/registry.py", line 114, in populate                                                                                             
    app_config.import_models()                                                                                                                                                                                     
  File "/home/kip/.virtualenvs/onadata310/lib/python3.10/site-packages/django/apps/config.py", line 301, in import_models                                                                                          
    self.models_module = import_module(models_module_name)                                                                                                                                                         
  File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module                                                                                                                                     
    return _bootstrap._gcd_import(name[level:], package, level)                                                                                                                                                    
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import                                                                                                                                                  
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load                                                                                                                                               
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked                                                                                                                                      
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked                                                                                                                                                
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module                                                                                                                                          
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed                                                                                                                                     
  File "/home/kip/src/ona/onadata/onadata/apps/logger/models/__init__.py", line 7, in <module>                                                                                                                     
    from onadata.apps.logger.models.instance import Instance  # noqa                                                                                                                                               
  File "/home/kip/src/ona/onadata/onadata/apps/logger/models/instance.py", line 29, in <module>                                                                                                                    
    from onadata.apps.logger.models.xform import XFORM_TITLE_LENGTH, XForm                                                                                                                                         
  File "/home/kip/src/ona/onadata/onadata/apps/logger/models/xform.py", line 32, in <module>                                                                                                                       
    from pyxform.xform2json import create_survey_element_from_xml                                                                                                                                                  
  File "/home/kip/.virtualenvs/onadata310/lib/python3.10/site-packages/pyxform/xform2json.py", line 11, in <module>                                                                                                
    from collections import Mapping                                                                                                                                                                                
ImportError: cannot import name 'Mapping' from 'collections' (/usr/lib/python3.10/collections/__init__.py)

Expected behavior

Other information

Things you tried, stack traces, related issues, suggestions on how to fix it...

Related to #661