arista-eosplus / pyeapi

Python client for Arista eAPI
BSD 3-Clause "New" or "Revised" License
140 stars 70 forks source link

Deprecation warninig - collections import for python 3.3+ #195

Closed qaxi closed 2 years ago

qaxi commented 3 years ago

On python 3.8 there s deprecation warning

/usr/local/lib/python3.8/dist-packages/pyeapi/utils.py:173
  /usr/local/lib/python3.8/dist-packages/pyeapi/utils.py:173: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.9 it will stop working
    if not isinstance(value, collections.Iterable):
bnavigator commented 2 years ago

This is still an issue in 0.8.4 and fails on Python 3.10:

[   23s] + pytest-3.10 --ignore=_build.python39 --ignore=_build.python310 --ignore=_build.python38 -v test/unit
[   23s] ============================= test session starts ==============================
[   23s] platform linux -- Python 3.10.1, pytest-6.2.5, py-1.10.0, pluggy-1.0.0 -- /usr/bin/python3.10
[   23s] cachedir: .pytest_cache
[   23s] rootdir: /home/abuild/rpmbuild/BUILD/pyeapi-0.8.4
[   24s] collecting ... collected 86 items / 17 errors / 69 selected
[   24s] 
[   24s] ==================================== ERRORS ====================================
[   24s] __________________ ERROR collecting test/unit/test_api_acl.py __________________
[   24s] ImportError while importing test module '/home/abuild/rpmbuild/BUILD/pyeapi-0.8.4/test/unit/test_api_acl.py'.
[   24s] Hint: make sure your test modules/packages have valid Python names.
[   24s] Traceback:
[   24s] /usr/lib64/python3.10/importlib/__init__.py:126: in import_module
[   24s]     return _bootstrap._gcd_import(name[level:], package, level)
[   24s] test/unit/test_api_acl.py:41: in <module>
[   24s]     import pyeapi.api.acl
[   24s] ../../BUILDROOT/python-pyeapi-0.8.4-8.36.x86_64/usr/lib/python3.10/site-packages/pyeapi/api/__init__.py:32: in <module>
[   24s]     from .abstract import Entity, EntityCollection
[   24s] ../../BUILDROOT/python-pyeapi-0.8.4-8.36.x86_64/usr/lib/python3.10/site-packages/pyeapi/api/abstract.py:43: in <module>
[   24s]     from collections import Callable, Mapping
[   24s] E   ImportError: cannot import name 'Callable' from 'collections' (/usr/lib64/python3.10/collections/__init__.py)
[   24s] __________________ ERROR collecting test/unit/test_api_bgp.py __________________
[   24s] ImportError while importing test module '/home/abuild/rpmbuild/BUILD/pyeapi-0.8.4/test/unit/test_api_bgp.py'.
[   24s] Hint: make sure your test modules/packages have valid Python names.
[   24s] Traceback:
[   24s] /usr/lib64/python3.10/importlib/__init__.py:126: in import_module
[   24s]     return _bootstrap._gcd_import(name[level:], package, level)
[   24s] test/unit/test_api_bgp.py:41: in <module>
[   24s]     import pyeapi.api.bgp
[   24s] ../../BUILDROOT/python-pyeapi-0.8.4-8.36.x86_64/usr/lib/python3.10/site-packages/pyeapi/api/__init__.py:32: in <module>
[   24s]     from .abstract import Entity, EntityCollection
[   24s] ../../BUILDROOT/python-pyeapi-0.8.4-8.36.x86_64/usr/lib/python3.10/site-packages/pyeapi/api/abstract.py:43: in <module>
[   24s]     from collections import Callable, Mapping
[   24s] E   ImportError: cannot import name 'Callable' from 'collections' (/usr/lib64/python3.10/collections/__init__.py)
[   24s] ______________ ERROR collecting test/unit/test_api_interfaces.py _______________
[   24s] ImportError while importing test module '/home/abuild/rpmbuild/BUILD/pyeapi-0.8.4/test/unit/test_api_interfaces.py'.
[   24s] Hint: make sure your test modules/packages have valid Python names.
[   24s] Traceback:
[   24s] /usr/lib64/python3.10/importlib/__init__.py:126: in import_module
[   24s]     return _bootstrap._gcd_import(name[level:], package, level)
[   24s] test/unit/test_api_interfaces.py:42: in <module>
[   24s]     import pyeapi.api.interfaces
[   24s] ../../BUILDROOT/python-pyeapi-0.8.4-8.36.x86_64/usr/lib/python3.10/site-packages/pyeapi/api/__init__.py:32: in <module>
[   24s]     from .abstract import Entity, EntityCollection
[   24s] ../../BUILDROOT/python-pyeapi-0.8.4-8.36.x86_64/usr/lib/python3.10/site-packages/pyeapi/api/abstract.py:43: in <module>
[   24s]     from collections import Callable, Mapping
[   24s] E   ImportError: cannot import name 'Callable' from 'collections' (/usr/lib64/python3.10/collections/__init__.py)
[   24s] _____________ ERROR collecting test/unit/test_api_ipinterfaces.py ______________
[   24s] ImportError while importing test module '/home/abuild/rpmbuild/BUILD/pyeapi-0.8.4/test/unit/test_api_ipinterfaces.py'.
[   24s] Hint: make sure your test modules/packages have valid Python names.
[   24s] Traceback:
[   24s] /usr/lib64/python3.10/importlib/__init__.py:126: in import_module
[   24s]     return _bootstrap._gcd_import(name[level:], package, level)
[   24s] test/unit/test_api_ipinterfaces.py:42: in <module>
[   24s]     import pyeapi.api.ipinterfaces
[   24s] ../../BUILDROOT/python-pyeapi-0.8.4-8.36.x86_64/usr/lib/python3.10/site-packages/pyeapi/api/__init__.py:32: in <module>
[   24s]     from .abstract import Entity, EntityCollection
[   24s] ../../BUILDROOT/python-pyeapi-0.8.4-8.36.x86_64/usr/lib/python3.10/site-packages/pyeapi/api/abstract.py:43: in <module>
[   24s]     from collections import Callable, Mapping
[   24s] E   ImportError: cannot import name 'Callable' from 'collections' (/usr/lib64/python3.10/collections/__init__.py)
[   24s] _________________ ERROR collecting test/unit/test_api_mlag.py __________________
[   24s] ImportError while importing test module '/home/abuild/rpmbuild/BUILD/pyeapi-0.8.4/test/unit/test_api_mlag.py'.
[   24s] Hint: make sure your test modules/packages have valid Python names.
[   24s] Traceback:
[   24s] /usr/lib64/python3.10/importlib/__init__.py:126: in import_module
[   24s]     return _bootstrap._gcd_import(name[level:], package, level)
[   24s] test/unit/test_api_mlag.py:41: in <module>
[   24s]     import pyeapi.api.mlag
[   24s] ../../BUILDROOT/python-pyeapi-0.8.4-8.36.x86_64/usr/lib/python3.10/site-packages/pyeapi/api/__init__.py:32: in <module>
[   24s]     from .abstract import Entity, EntityCollection
[   24s] ../../BUILDROOT/python-pyeapi-0.8.4-8.36.x86_64/usr/lib/python3.10/site-packages/pyeapi/api/abstract.py:43: in <module>
[   24s]     from collections import Callable, Mapping
[   24s] E   ImportError: cannot import name 'Callable' from 'collections' (/usr/lib64/python3.10/collections/__init__.py)
[   24s] __________________ ERROR collecting test/unit/test_api_ntp.py __________________
[   24s] ImportError while importing test module '/home/abuild/rpmbuild/BUILD/pyeapi-0.8.4/test/unit/test_api_ntp.py'.
[   24s] Hint: make sure your test modules/packages have valid Python names.
[   24s] Traceback:
[   24s] /usr/lib64/python3.10/importlib/__init__.py:126: in import_module
[   24s]     return _bootstrap._gcd_import(name[level:], package, level)
[   24s] test/unit/test_api_ntp.py:41: in <module>
[   24s]     import pyeapi.api.ntp
[   24s] ../../BUILDROOT/python-pyeapi-0.8.4-8.36.x86_64/usr/lib/python3.10/site-packages/pyeapi/api/__init__.py:32: in <module>
[   24s]     from .abstract import Entity, EntityCollection
[   24s] ../../BUILDROOT/python-pyeapi-0.8.4-8.36.x86_64/usr/lib/python3.10/site-packages/pyeapi/api/abstract.py:43: in <module>
[   24s]     from collections import Callable, Mapping
[   24s] E   ImportError: cannot import name 'Callable' from 'collections' (/usr/lib64/python3.10/collections/__init__.py)
[   24s] _________________ ERROR collecting test/unit/test_api_ospf.py __________________
[   24s] ImportError while importing test module '/home/abuild/rpmbuild/BUILD/pyeapi-0.8.4/test/unit/test_api_ospf.py'.
[   24s] Hint: make sure your test modules/packages have valid Python names.
[   24s] Traceback:
[   24s] /usr/lib64/python3.10/importlib/__init__.py:126: in import_module
[   24s]     return _bootstrap._gcd_import(name[level:], package, level)
[   24s] test/unit/test_api_ospf.py:10: in <module>
[   24s]     import pyeapi.api.ospf
[   24s] ../../BUILDROOT/python-pyeapi-0.8.4-8.36.x86_64/usr/lib/python3.10/site-packages/pyeapi/api/__init__.py:32: in <module>
[   24s]     from .abstract import Entity, EntityCollection
[   24s] ../../BUILDROOT/python-pyeapi-0.8.4-8.36.x86_64/usr/lib/python3.10/site-packages/pyeapi/api/abstract.py:43: in <module>
[   24s]     from collections import Callable, Mapping
[   24s] E   ImportError: cannot import name 'Callable' from 'collections' (/usr/lib64/python3.10/collections/__init__.py)
[   24s] _______________ ERROR collecting test/unit/test_api_routemaps.py _______________
[   24s] ImportError while importing test module '/home/abuild/rpmbuild/BUILD/pyeapi-0.8.4/test/unit/test_api_routemaps.py'.
[   24s] Hint: make sure your test modules/packages have valid Python names.
[   24s] Traceback:
[   24s] /usr/lib64/python3.10/importlib/__init__.py:126: in import_module
[   24s]     return _bootstrap._gcd_import(name[level:], package, level)
[   24s] test/unit/test_api_routemaps.py:41: in <module>
[   24s]     import pyeapi.api.routemaps
[   24s] ../../BUILDROOT/python-pyeapi-0.8.4-8.36.x86_64/usr/lib/python3.10/site-packages/pyeapi/api/__init__.py:32: in <module>
[   24s]     from .abstract import Entity, EntityCollection
[   24s] ../../BUILDROOT/python-pyeapi-0.8.4-8.36.x86_64/usr/lib/python3.10/site-packages/pyeapi/api/abstract.py:43: in <module>
[   24s]     from collections import Callable, Mapping
[   24s] E   ImportError: cannot import name 'Callable' from 'collections' (/usr/lib64/python3.10/collections/__init__.py)
[   24s] ______________ ERROR collecting test/unit/test_api_staticroute.py ______________
[   24s] ImportError while importing test module '/home/abuild/rpmbuild/BUILD/pyeapi-0.8.4/test/unit/test_api_staticroute.py'.
[   24s] Hint: make sure your test modules/packages have valid Python names.
[   24s] Traceback:
[   24s] /usr/lib64/python3.10/importlib/__init__.py:126: in import_module
[   24s]     return _bootstrap._gcd_import(name[level:], package, level)
[   24s] test/unit/test_api_staticroute.py:42: in <module>
[   24s]     import pyeapi.api.staticroute
[   24s] ../../BUILDROOT/python-pyeapi-0.8.4-8.36.x86_64/usr/lib/python3.10/site-packages/pyeapi/api/__init__.py:32: in <module>
[   24s]     from .abstract import Entity, EntityCollection
[   24s] ../../BUILDROOT/python-pyeapi-0.8.4-8.36.x86_64/usr/lib/python3.10/site-packages/pyeapi/api/abstract.py:43: in <module>
[   24s]     from collections import Callable, Mapping
[   24s] E   ImportError: cannot import name 'Callable' from 'collections' (/usr/lib64/python3.10/collections/__init__.py)
[   24s] __________________ ERROR collecting test/unit/test_api_stp.py __________________
[   24s] ImportError while importing test module '/home/abuild/rpmbuild/BUILD/pyeapi-0.8.4/test/unit/test_api_stp.py'.
[   24s] Hint: make sure your test modules/packages have valid Python names.
[   24s] Traceback:
[   24s] /usr/lib64/python3.10/importlib/__init__.py:126: in import_module
[   24s]     return _bootstrap._gcd_import(name[level:], package, level)
[   24s] test/unit/test_api_stp.py:41: in <module>
[   24s]     import pyeapi.api.stp
[   24s] ../../BUILDROOT/python-pyeapi-0.8.4-8.36.x86_64/usr/lib/python3.10/site-packages/pyeapi/api/__init__.py:32: in <module>
[   24s]     from .abstract import Entity, EntityCollection
[   24s] ../../BUILDROOT/python-pyeapi-0.8.4-8.36.x86_64/usr/lib/python3.10/site-packages/pyeapi/api/abstract.py:43: in <module>
[   24s]     from collections import Callable, Mapping
[   24s] E   ImportError: cannot import name 'Callable' from 'collections' (/usr/lib64/python3.10/collections/__init__.py)
[   24s] ______________ ERROR collecting test/unit/test_api_switchports.py ______________
[   24s] ImportError while importing test module '/home/abuild/rpmbuild/BUILD/pyeapi-0.8.4/test/unit/test_api_switchports.py'.
[   24s] Hint: make sure your test modules/packages have valid Python names.
[   24s] Traceback:
[   24s] /usr/lib64/python3.10/importlib/__init__.py:126: in import_module
[   24s]     return _bootstrap._gcd_import(name[level:], package, level)
[   24s] test/unit/test_api_switchports.py:42: in <module>
[   24s]     import pyeapi.api.switchports
[   24s] ../../BUILDROOT/python-pyeapi-0.8.4-8.36.x86_64/usr/lib/python3.10/site-packages/pyeapi/api/__init__.py:32: in <module>
[   24s]     from .abstract import Entity, EntityCollection
[   24s] ../../BUILDROOT/python-pyeapi-0.8.4-8.36.x86_64/usr/lib/python3.10/site-packages/pyeapi/api/abstract.py:43: in <module>
[   24s]     from collections import Callable, Mapping
[   24s] E   ImportError: cannot import name 'Callable' from 'collections' (/usr/lib64/python3.10/collections/__init__.py)
[   24s] ________________ ERROR collecting test/unit/test_api_system.py _________________
[   24s] ImportError while importing test module '/home/abuild/rpmbuild/BUILD/pyeapi-0.8.4/test/unit/test_api_system.py'.
[   24s] Hint: make sure your test modules/packages have valid Python names.
[   24s] Traceback:
[   24s] /usr/lib64/python3.10/importlib/__init__.py:126: in import_module
[   24s]     return _bootstrap._gcd_import(name[level:], package, level)
[   24s] test/unit/test_api_system.py:41: in <module>
[   24s]     import pyeapi.api.system
[   24s] ../../BUILDROOT/python-pyeapi-0.8.4-8.36.x86_64/usr/lib/python3.10/site-packages/pyeapi/api/__init__.py:32: in <module>
[   24s]     from .abstract import Entity, EntityCollection
[   24s] ../../BUILDROOT/python-pyeapi-0.8.4-8.36.x86_64/usr/lib/python3.10/site-packages/pyeapi/api/abstract.py:43: in <module>
[   24s]     from collections import Callable, Mapping
[   24s] E   ImportError: cannot import name 'Callable' from 'collections' (/usr/lib64/python3.10/collections/__init__.py)
[   24s] _________________ ERROR collecting test/unit/test_api_users.py _________________
[   24s] ImportError while importing test module '/home/abuild/rpmbuild/BUILD/pyeapi-0.8.4/test/unit/test_api_users.py'.
[   24s] Hint: make sure your test modules/packages have valid Python names.
[   24s] Traceback:
[   24s] /usr/lib64/python3.10/importlib/__init__.py:126: in import_module
[   24s]     return _bootstrap._gcd_import(name[level:], package, level)
[   24s] test/unit/test_api_users.py:41: in <module>
[   24s]     import pyeapi.api.users
[   24s] ../../BUILDROOT/python-pyeapi-0.8.4-8.36.x86_64/usr/lib/python3.10/site-packages/pyeapi/api/__init__.py:32: in <module>
[   24s]     from .abstract import Entity, EntityCollection
[   24s] ../../BUILDROOT/python-pyeapi-0.8.4-8.36.x86_64/usr/lib/python3.10/site-packages/pyeapi/api/abstract.py:43: in <module>
[   24s]     from collections import Callable, Mapping
[   24s] E   ImportError: cannot import name 'Callable' from 'collections' (/usr/lib64/python3.10/collections/__init__.py)
[   24s] _________________ ERROR collecting test/unit/test_api_varp.py __________________
[   24s] ImportError while importing test module '/home/abuild/rpmbuild/BUILD/pyeapi-0.8.4/test/unit/test_api_varp.py'.
[   24s] Hint: make sure your test modules/packages have valid Python names.
[   24s] Traceback:
[   24s] /usr/lib64/python3.10/importlib/__init__.py:126: in import_module
[   24s]     return _bootstrap._gcd_import(name[level:], package, level)
[   24s] test/unit/test_api_varp.py:41: in <module>
[   24s]     import pyeapi.api.varp
[   24s] ../../BUILDROOT/python-pyeapi-0.8.4-8.36.x86_64/usr/lib/python3.10/site-packages/pyeapi/api/__init__.py:32: in <module>
[   24s]     from .abstract import Entity, EntityCollection
[   24s] ../../BUILDROOT/python-pyeapi-0.8.4-8.36.x86_64/usr/lib/python3.10/site-packages/pyeapi/api/abstract.py:43: in <module>
[   24s]     from collections import Callable, Mapping
[   24s] E   ImportError: cannot import name 'Callable' from 'collections' (/usr/lib64/python3.10/collections/__init__.py)
[   24s] _________________ ERROR collecting test/unit/test_api_vlans.py _________________
[   24s] ImportError while importing test module '/home/abuild/rpmbuild/BUILD/pyeapi-0.8.4/test/unit/test_api_vlans.py'.
[   24s] Hint: make sure your test modules/packages have valid Python names.
[   24s] Traceback:
[   24s] /usr/lib64/python3.10/importlib/__init__.py:126: in import_module
[   24s]     return _bootstrap._gcd_import(name[level:], package, level)
[   24s] test/unit/test_api_vlans.py:41: in <module>
[   24s]     import pyeapi.api.vlans
[   24s] ../../BUILDROOT/python-pyeapi-0.8.4-8.36.x86_64/usr/lib/python3.10/site-packages/pyeapi/api/__init__.py:32: in <module>
[   24s]     from .abstract import Entity, EntityCollection
[   24s] ../../BUILDROOT/python-pyeapi-0.8.4-8.36.x86_64/usr/lib/python3.10/site-packages/pyeapi/api/abstract.py:43: in <module>
[   24s]     from collections import Callable, Mapping
[   24s] E   ImportError: cannot import name 'Callable' from 'collections' (/usr/lib64/python3.10/collections/__init__.py)
[   24s] _________________ ERROR collecting test/unit/test_api_vrfs.py __________________
[   24s] ImportError while importing test module '/home/abuild/rpmbuild/BUILD/pyeapi-0.8.4/test/unit/test_api_vrfs.py'.
[   24s] Hint: make sure your test modules/packages have valid Python names.
[   24s] Traceback:
[   24s] /usr/lib64/python3.10/importlib/__init__.py:126: in import_module
[   24s]     return _bootstrap._gcd_import(name[level:], package, level)
[   24s] test/unit/test_api_vrfs.py:41: in <module>
[   24s]     import pyeapi.api.vrfs
[   24s] ../../BUILDROOT/python-pyeapi-0.8.4-8.36.x86_64/usr/lib/python3.10/site-packages/pyeapi/api/__init__.py:32: in <module>
[   24s]     from .abstract import Entity, EntityCollection
[   24s] ../../BUILDROOT/python-pyeapi-0.8.4-8.36.x86_64/usr/lib/python3.10/site-packages/pyeapi/api/abstract.py:43: in <module>
[   24s]     from collections import Callable, Mapping
[   24s] E   ImportError: cannot import name 'Callable' from 'collections' (/usr/lib64/python3.10/collections/__init__.py)
[   24s] _________________ ERROR collecting test/unit/test_api_vrrp.py __________________
[   24s] ImportError while importing test module '/home/abuild/rpmbuild/BUILD/pyeapi-0.8.4/test/unit/test_api_vrrp.py'.
[   24s] Hint: make sure your test modules/packages have valid Python names.
[   24s] Traceback:
[   24s] /usr/lib64/python3.10/importlib/__init__.py:126: in import_module
[   24s]     return _bootstrap._gcd_import(name[level:], package, level)
[   24s] test/unit/test_api_vrrp.py:41: in <module>
[   24s]     import pyeapi.api.vrrp
[   24s] ../../BUILDROOT/python-pyeapi-0.8.4-8.36.x86_64/usr/lib/python3.10/site-packages/pyeapi/api/__init__.py:32: in <module>
[   24s]     from .abstract import Entity, EntityCollection
[   24s] ../../BUILDROOT/python-pyeapi-0.8.4-8.36.x86_64/usr/lib/python3.10/site-packages/pyeapi/api/abstract.py:43: in <module>
[   24s]     from collections import Callable, Mapping
[   24s] E   ImportError: cannot import name 'Callable' from 'collections' (/usr/lib64/python3.10/collections/__init__.py)
[   24s] =============================== warnings summary ===============================
[   24s] test/unit/test_client.py:35
[   24s]   /home/abuild/rpmbuild/BUILD/pyeapi-0.8.4/test/unit/test_client.py:35: DeprecationWarning: the imp module is deprecated in favour of importlib and slated for removal in Python 3.12; see the module's documentation for alternative uses
[   24s]     import imp
[   24s] 
[   24s] -- Docs: https://docs.pytest.org/en/stable/warnings.html
[   24s] =========================== short test summary info ============================
[   24s] ERROR test/unit/test_api_acl.py
[   24s] ERROR test/unit/test_api_bgp.py
[   24s] ERROR test/unit/test_api_interfaces.py
[   24s] ERROR test/unit/test_api_ipinterfaces.py
[   24s] ERROR test/unit/test_api_mlag.py
[   24s] ERROR test/unit/test_api_ntp.py
[   24s] ERROR test/unit/test_api_ospf.py
[   24s] ERROR test/unit/test_api_routemaps.py
[   24s] ERROR test/unit/test_api_staticroute.py
[   24s] ERROR test/unit/test_api_stp.py
[   24s] ERROR test/unit/test_api_switchports.py
[   24s] ERROR test/unit/test_api_system.py
[   24s] ERROR test/unit/test_api_users.py
[   24s] ERROR test/unit/test_api_varp.py
[   24s] ERROR test/unit/test_api_vlans.py
[   24s] ERROR test/unit/test_api_vrfs.py
[   24s] ERROR test/unit/test_api_vrrp.py
[   24s] !!!!!!!!!!!!!!!!!!! Interrupted: 17 errors during collection !!!!!!!!!!!!!!!!!!!
[   24s] ======================== 1 warning, 17 errors in 0.63s =========================
dlyssenko commented 2 years ago

closing this issue as all has been fixed already for quite some time.