kdeldycke/meta-package-manager

`pipx` installation broken from 5.14: `ModuleNotFoundError`

pdelre opened this issue ยท 4 comments

What happened?

I upgraded mpm to 5.14.1 via pipx and any mpm call fails with the following error message:

$ pipx install --force meta-package-manager==5.14.1 && mpm --version
Traceback (most recent call last):
  File "/Users/pdelre/.local/bin/mpm", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/Users/pdelre/.local/pipx/venvs/meta-package-manager/lib/python3.12/site-packages/meta_package_manager/__main__.py", line 53, in main
    from meta_package_manager.cli import mpm
  File "/Users/pdelre/.local/pipx/venvs/meta-package-manager/lib/python3.12/site-packages/meta_package_manager/cli.py", line 66, in <module>
    from .output import (
  File "/Users/pdelre/.local/pipx/venvs/meta-package-manager/lib/python3.12/site-packages/meta_package_manager/output.py", line 45, in <module>
    from .pool import pool
  File "/Users/pdelre/.local/pipx/venvs/meta-package-manager/lib/python3.12/site-packages/meta_package_manager/pool.py", line 48, in <module>
    from .managers.zypper import Zypper
  File "/Users/pdelre/.local/pipx/venvs/meta-package-manager/lib/python3.12/site-packages/meta_package_manager/managers/zypper.py", line 25, in <module>
    from typing_extensions import TypedDict
ModuleNotFoundError: No module named 'typing_extensions'
Full 5.14.1 Reproduction
$ pipx install --force meta-package-manager==5.14.1 && mpm --version
Installing to existing venv 'meta-package-manager'
  installed package meta-package-manager 5.14.1, installed using Python 3.12.1
  These apps are now globally available
    - mpm
done! โœจ ๐ŸŒŸ โœจ
Traceback (most recent call last):
  File "/Users/pdelre/.local/bin/mpm", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/Users/pdelre/.local/pipx/venvs/meta-package-manager/lib/python3.12/site-packages/meta_package_manager/__main__.py", line 53, in main
    from meta_package_manager.cli import mpm
  File "/Users/pdelre/.local/pipx/venvs/meta-package-manager/lib/python3.12/site-packages/meta_package_manager/cli.py", line 71, in <module>
    from .output import (
  File "/Users/pdelre/.local/pipx/venvs/meta-package-manager/lib/python3.12/site-packages/meta_package_manager/output.py", line 45, in <module>
    from .pool import pool
  File "/Users/pdelre/.local/pipx/venvs/meta-package-manager/lib/python3.12/site-packages/meta_package_manager/pool.py", line 48, in <module>
    from .managers.zypper import Zypper
  File "/Users/pdelre/.local/pipx/venvs/meta-package-manager/lib/python3.12/site-packages/meta_package_manager/managers/zypper.py", line 25, in <module>
    from typing_extensions import TypedDict
ModuleNotFoundError: No module named 'typing_extensions'
Full 5.14.0 Reproduction
$ pipx install --force meta-package-manager==5.14.0 && mpm --version
Installing to existing venv 'meta-package-manager'
  installed package meta-package-manager 5.14.0, installed using Python 3.12.1
  These apps are now globally available
    - mpm
done! โœจ ๐ŸŒŸ โœจ
Traceback (most recent call last):
  File "/Users/pdelre/.local/bin/mpm", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/Users/pdelre/.local/pipx/venvs/meta-package-manager/lib/python3.12/site-packages/meta_package_manager/__main__.py", line 53, in main
    from meta_package_manager.cli import mpm
  File "/Users/pdelre/.local/pipx/venvs/meta-package-manager/lib/python3.12/site-packages/meta_package_manager/cli.py", line 66, in <module>
    from .output import (
  File "/Users/pdelre/.local/pipx/venvs/meta-package-manager/lib/python3.12/site-packages/meta_package_manager/output.py", line 45, in <module>
    from .pool import pool
  File "/Users/pdelre/.local/pipx/venvs/meta-package-manager/lib/python3.12/site-packages/meta_package_manager/pool.py", line 48, in <module>
    from .managers.zypper import Zypper
  File "/Users/pdelre/.local/pipx/venvs/meta-package-manager/lib/python3.12/site-packages/meta_package_manager/managers/zypper.py", line 25, in <module>
    from typing_extensions import TypedDict
ModuleNotFoundError: No module named 'typing_extensions'

Reverting back to 5.13.1 resolves the issue.

Successful 5.13.1
$ pipx install --force meta-package-manager==5.13.1 && mpm --version
Installing to existing venv 'meta-package-manager'
  installed package meta-package-manager 5.13.1, installed using Python 3.12.1
  These apps are now globally available
    - mpm
done! โœจ ๐ŸŒŸ โœจ
mpm, version 5.13.1
{'username': '-', 'guid': '87b2a1c5e0a83d083c4e63008d16bbb', 'hostname': '-', 'hostfqdn': '-', 'uname': {'system': 'Darwin', 'node': '-', 'release': '22.6.0', 'version': 'Darwin Kernel Version 22.6.0: Wed Oct  4 21:25:26 PDT 2023; root:xnu-8796.141.3.701.17~4/RELEASE_X86_64', 'machine': 'x86_64', 'processor': 'i386'}, 'linux_dist_name': '', 'linux_dist_version': '', 'cpu_count': 12, 'fs_encoding': 'utf-8', 'ulimit_soft': 256, 'ulimit_hard': 9223372036854775807, 'cwd': '-', 'umask': '0o2', 'python': {'argv': '-', 'bin': '-', 'version': '3.12.1 (main, Dec 8 2023, 19:21:52) [Clang 14.0.3 (clang-1403.0.22.14.1)]', 'compiler': 'Clang 14.0.3 (clang-1403.0.22.14.1)', 'build_date': 'Dec  8 2023 19:21:52', 'version_info': [3, 12, 1, 'final', 0], 'features': {'openssl': 'OpenSSL 3.2.0 23 Nov 2023', 'expat': 'expat_2.5.0', 'sqlite': '3.44.2', 'tkinter': '', 'zlib': '1.2.11', 'unicode_wide': True, 'readline': True, '64bit': True, 'ipv6': True, 'threading': True, 'urandom': True}}, 'time_utc': '2024-01-16 13:16:43.003688', 'time_utc_offset': -5.0, '_eco_version': '1.0.1'}

Meta Package Manager configuration

Fails with ModuleNotFoundError

List package managers

Fails with ModuleNotFoundError

Binary path resolution

No response

Meta Package Manager version

Fails with ModuleNotFoundError

I've confirmed the issue with both 5.14.0 and 5.14.1 (above).

Can confirm the issue:

$ pipx install meta-package-manager
  installed package meta-package-manager 5.14.1, installed using Python 3.12.1
  These apps are now globally available
    - mpm
done! โœจ ๐ŸŒŸ โœจ

$ which mpm
/Users/kde/.local/bin/mpm

$ mpm
Traceback (most recent call last):
  File "/Users/kde/.local/bin/mpm", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/Users/kde/.local/pipx/venvs/meta-package-manager/lib/python3.12/site-packages/meta_package_manager/__main__.py", line 53, in main
    from meta_package_manager.cli import mpm
  File "/Users/kde/.local/pipx/venvs/meta-package-manager/lib/python3.12/site-packages/meta_package_manager/cli.py", line 71, in <module>
    from .output import (
  File "/Users/kde/.local/pipx/venvs/meta-package-manager/lib/python3.12/site-packages/meta_package_manager/output.py", line 45, in <module>
    from .pool import pool
  File "/Users/kde/.local/pipx/venvs/meta-package-manager/lib/python3.12/site-packages/meta_package_manager/pool.py", line 48, in <module>
    from .managers.zypper import Zypper
  File "/Users/kde/.local/pipx/venvs/meta-package-manager/lib/python3.12/site-packages/meta_package_manager/managers/zypper.py", line 25, in <module>
    from typing_extensions import TypedDict
ModuleNotFoundError: No module named 'typing_extensions'

Issue has been fixed upstream. I'll release a 5.14.2 in a couple of hours.

Thank you! 5.14.2 is working fine

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.