Bug 2423700 - argcomplete: AttributeError: module 'pkgutil' has no attribute 'get_loader'
Summary: argcomplete: AttributeError: module 'pkgutil' has no attribute 'get_loader'
Keywords:
Status: NEW
Alias: None
Product: Fedora
Classification: Fedora
Component: python-argcomplete
Version: 43
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Sandro
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: PYTHON3.14
TreeView+ depends on / blocked
 
Reported: 2025-12-18 21:01 UTC by Miro Hrončok
Modified: 2025-12-18 21:06 UTC (History)
8 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Miro Hrončok 2025-12-18 21:01:45 UTC
Description of problem:
When running `copr del[tab]`, an error is cought by ABRT and no command is completed.

ABRT does not let me report it directly, but this is what it says:

AttributeError: module 'pkgutil' has no attribute 'get_loader'

AttributeError: module 'pkgutil' has no attribute 'get_loader'

Local variables in innermost frame:
fh: <_io.TextIOWrapper name='/usr/bin/copr' mode='r' encoding='UTF-8'>
line1: '#!/usr/bin/python3'
head: "# EASY-INSTALL-ENTRY-SCRIPT: 'copr-cli==2.4','console_scripts','copr-cli'\nimport re\nimport sys\n\n# for compatibility with easy_install; see #2198\n__requires__ = 'copr-cli==2.4'\n\ntry:\n    from importlib.metadata import distribution\nexcept ImportError:\n    try:\n        from importlib_metadata import distribution\n    except ImportError:\n        from pkg_resources import load_entry_point\n\n\ndef importlib_load_entry_point(spec, group, name):\n    dist_name, _, _ = spec.partition('==')\n    matches = (\n        entry_point\n        for entry_point in distribution(dist_name).entry_points\n        if entry_point.group == group and entry_point.name == name\n    )\n    return next(matches).load()\n\n\nglobals().setdefault('load_entry_point', importlib_load_entry_point)\n\n\nif __name__ == '__main__':\n    sys.argv[0] = re.sub(r'(-script\\.pyw?|\\.exe)?$', '', sys.argv[0])\n    sys.exit(load_entry_point('copr-cli==2.4', 'console_scripts', 'copr-cli')())\n"
re: <module 're' from '/usr/lib64/python3.14/re/__init__.py'>
lines: ["# EASY-INSTALL-ENTRY-SCRIPT: 'copr-cli==2.4','console_scripts','copr-cli'", 'import re', 'import sys', '', '# for compatibility with easy_install; see #2198', "__requires__ = 'copr-cli==2.4'", '', 'try:', '    from importlib.metadata import distribution', 'except ImportError:', '    try:', '        from importlib_metadata import distribution', "    except ImportError:\n        from pkg_resources import load_entry_point\n\n\ndef importlib_load_entry_point(spec, group, name):\n    dist_name, _, _ = spec.partition('==')\n    matches = (\n        entry_point\n        for entry_point in distribution(dist_name).entry_points\n        if entry_point.group == group and entry_point.name == name\n    )\n    return next(matches).load()\n\n\nglobals().setdefault('load_entry_point', importlib_load_entry_point)\n\n\nif __name__ == '__main__':\n    sys.argv[0] = re.sub(r'(-script\\.pyw?|\\.exe)?$', '', sys.argv[0])\n    sys.exit(load_entry_point('copr-cli==2.4', 'console_scripts', 'copr-cli')())\n"]
line: "# EASY-INSTALL-ENTRY-SCRIPT: 'copr-cli==2.4','console_scripts','copr-cli'"
pkg_resources: <module 'pkg_resources' from '/usr/lib/python3.14/site-packages/pkg_resources/__init__.py'>
re_match: <re.Match object; span=(0, 73), match="# EASY-INSTALL-ENTRY-SCRIPT: 'copr-cli==2.4','con>
dist: 'copr-cli==2.4'
group: 'console_scripts'
name: 'copr-cli'
pkgutil: <module 'pkgutil' from '/usr/lib64/python3.14/pkgutil.py'>
entry_point_info: EntryPoint.parse('copr-cli = copr_cli.main:main')
module_name: 'copr_cli.main'


You can reproduce by:

$ /usr/bin/python3 /usr/bin/python-argcomplete-check-easy-install-script /usr/bin/copr
Failed to parse signal number "AttributeError", ignoring: Invalid argument
Failed to parse resource limit "-1", ignoring: Numerical result out of range
Failed to parse dumpable field "/usr/bin/copr": Invalid argument
AttributeError: module 'pkgutil' has no attribute 'get_loader'


Version-Release number of selected component (if applicable):
python3-3.14.2-1.fc43.x86_64
copr-cli-2.4-1.fc43.noarch
python3-argcomplete-3.6.3-2.fc43.noarch

https://docs.python.org/3.14/whatsnew/3.14.html#pkgutil says this method was indeed removed.


Note You need to log in before you can comment on or make changes to this bug.