Title: AttributeError: type object 'Callable' has no attribute '_abc_registry'
Type: behavior Stage:
Components: Installation Versions: Python 3.8
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: dilyan.palauzov, levkivskyi, xtreak
Priority: normal Keywords:

Created on 2020-05-15 13:41 by dilyan.palauzov, last changed 2020-05-15 20:57 by levkivskyi.

Messages (4)
msg368941 - (view) Author: Дилян Палаузов (dilyan.palauzov) Date: 2020-05-15 13:41
I have the newest cpython 3.8 (07bd5cf3d9551ae), installed with `./configure --enable-loadable-sqlite-extensions --disable-ipv6 --with-system-expat --with-system-libmpdec --enable-shared && make && make install`.

Calling `pip-20.1 install -U meson` prints:

Collecting meson
  Using cached meson-0.54.2.tar.gz (1.7 MB)
  Installing build dependencies: started
  Installing build dependencies: finished with status 'error'
  ERROR: Command errored out with exit status 1:
   command: /usr/local/bin/python3 /usr/local/lib/python3.8/site-packages/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-to_qzg_r/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i -- setuptools wheel
       cwd: None
  Complete output (44 lines):
  Traceback (most recent call last):
    File "/usr/local/lib/python3.8/", line 194, in _run_module_as_main
      return _run_code(code, main_globals, None,
    File "/usr/local/lib/python3.8/", line 87, in _run_code
      exec(code, run_globals)
    File "/usr/local/lib/python3.8/site-packages/pip/", line 26, in <module>
    File "/usr/local/lib/python3.8/site-packages/pip/_internal/cli/", line 73, in main
      command = create_command(cmd_name, isolated=("--isolated" in cmd_args))
    File "/usr/local/lib/python3.8/site-packages/pip/_internal/commands/", line 104, in create_command
      module = importlib.import_module(module_path)
    File "/usr/local/lib/python3.8/importlib/", line 127, in import_module
      return _bootstrap._gcd_import(name[level:], package, level)
    File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
    File "<frozen importlib._bootstrap>", line 991, in _find_and_load
    File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
    File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
    File "<frozen importlib._bootstrap_external>", line 783, in exec_module
    File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
    File "/usr/local/lib/python3.8/site-packages/pip/_internal/commands/", line 24, in <module>
      from pip._internal.cli.req_command import RequirementCommand, with_cleanup
    File "/usr/local/lib/python3.8/site-packages/pip/_internal/cli/", line 16, in <module>
      from pip._internal.index.package_finder import PackageFinder
    File "/usr/local/lib/python3.8/site-packages/pip/_internal/index/", line 21, in <module>
      from pip._internal.index.collector import parse_links
    File "/usr/local/lib/python3.8/site-packages/pip/_internal/index/", line 14, in <module>
      from pip._vendor import html5lib, requests
    File "/usr/local/lib/python3.8/site-packages/pip/_vendor/requests/", line 114, in <module>
      from . import utils
    File "/usr/local/lib/python3.8/site-packages/pip/_vendor/requests/", line 25, in <module>
      from . import certs
    File "/usr/local/lib/python3.8/site-packages/pip/_vendor/requests/", line 15, in <module>
      from pip._vendor.certifi import where
    File "/usr/local/lib/python3.8/site-packages/pip/_vendor/certifi/", line 1, in <module>
      from .core import contents, where
    File "/usr/local/lib/python3.8/site-packages/pip/_vendor/certifi/", line 12, in <module>
      from importlib.resources import read_text
    File "/usr/local/lib/python3.8/importlib/", line 11, in <module>
      from typing import Iterable, Iterator, Optional, Set, Union   # noqa: F401
    File "/usr/local/lib/python3.8/site-packages/", line 1357, in <module>
      class Callable(extra=collections_abc.Callable, metaclass=CallableMeta):
    File "/usr/local/lib/python3.8/site-packages/", line 1005, in __new__
      self._abc_registry = extra._abc_registry
  AttributeError: type object 'Callable' has no attribute '_abc_registry'
ERROR: Command errored out with exit status 1: /usr/local/bin/python3 /usr/local/lib/python3.8/site-packages/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-to_qzg_r/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i -- setuptools wheel Check the logs for full command output.
msg368943 - (view) Author: Karthikeyan Singaravelan (xtreak) * (Python committer) Date: 2020-05-15 13:55
You seem to use typing backport that has this issue :
msg368949 - (view) Author: Дилян Палаузов (dilyan.palauzov) Date: 2020-05-15 14:30
I used python 3.6, I exported all dependencies with `pip list`, then upgraded to python 3.8 and imported the exported dependencies.

Uninstalling the “typing” module has helped.

Do you mean, that python 3.8 includes the “typing” modules, so that it may not be re-installed over pip?

Why pip does not prevent the user from installing the “typing” modules on python 3.8?
msg368975 - (view) Author: Ivan Levkivskyi (levkivskyi) * (Python committer) Date: 2020-05-15 20:57
I think a better question is why the `typing` in site packages is ever imported? I thought that an stdlib module always takes precedence over an installed one with the same name.
Date User Action Args
2020-05-15 20:57:49levkivskyisetnosy: + levkivskyi
messages: + msg368975
2020-05-15 14:30:41dilyan.palauzovsetmessages: + msg368949
2020-05-15 13:55:08xtreaksetnosy: + xtreak
messages: + msg368943
2020-05-15 13:41:24dilyan.palauzovcreate