module 'collections' has no attribute 'Callable'

Issue #11 resolved
Former user created an issue

It seem there were some changes in the Python stdlib.

-=>> vmm ld
Traceback (most recent call last):
  File "/usr/lib/python-exec/python3.10/vmm", line 18, in <module>
    sys.exit(run(sys.argv))
  File "/usr/lib/python3.10/site-packages/VirtualMailManager/cli/main.py", line 43, in run
    handler = _get_handler()
  File "/usr/lib/python3.10/site-packages/VirtualMailManager/cli/main.py", line 27, in _get_handler
    handler = CliHandler()
  File "/usr/lib/python3.10/site-packages/VirtualMailManager/cli/handler.py", line 44, in __init__
    super(CliHandler, self).__init__(skip_some_checks)
  File "/usr/lib/python3.10/site-packages/VirtualMailManager/handler.py", line 89, in __init__
    self._cfg = Cfg(self._cfg_fname)
  File "/usr/lib/python3.10/site-packages/VirtualMailManager/config.py", line 292, in __init__
    LazyConfig.__init__(self)
  File "/usr/lib/python3.10/site-packages/VirtualMailManager/config.py", line 73, in __init__
    'optionname': LazyConfigOption(int, 1, self.getint),
  File "/usr/lib/python3.10/site-packages/VirtualMailManager/config.py", line 251, in __init__
    if not isinstance(getter, collections.Callable):
AttributeError: module 'collections' has no attribute 'Callable'

I've found this discussion on Stack Overflow: BeautifulSoup AttributeError 'collections' has no attribute 'Callable' that seemed relevant.

This patch seem to solve the issue:

diff --git a/VirtualMailManager/config.py b/VirtualMailManager/config.py
index b28da4a..8a5137f 100644
--- a/VirtualMailManager/config.py
+++ b/VirtualMailManager/config.py
@@ -8,6 +8,7 @@
 """

 import collections
+collections.Callable = collections.abc.Callable

 from configparser import \
      Error, MissingSectionHeaderError, NoOptionError, NoSectionError, \

I have this issue with git HEAD but it's probably present in 0.7.0, too. I use Python 3.10.6.

Comments (1)

  1. Log in to comment