canonical / canonical/layer-basic

pbr: ModuleNotFoundError: No module named 'pkg_resources'

Offen
#230 4 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Python
Sterne
10
Forks
42
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

When building a charm using layer-basic fails because pbr<6.1.1 can't be built with setuptools>=82.0 due to the drop of `pkg_resources`, this can't be addressed by pinning setuptools, because pip will build pbr in an isolated environment.

```
:: Collecting pbr<6.1.1 (from -r /tmp/tmpt0pr1_kw/wheelhouse.txt (line 55))
:: Using cached pbr-6.1.0.tar.gz (124 kB)
:: Installing build dependencies: started
:: Installing build dependencies: finished with status 'done'
:: Getting requirements to build wheel: started
:: Getting requirements to build wheel: finished with status 'error'
:: error: subprocess-exited-with-error
::
:: × Getting requirements to build wheel did not run successfully.
:: │ exit code: 1
:: ╰─> [22 lines of output]
:: Traceback (most recent call last):
:: File "/tmp/tmp438b5rxl/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in
:: main()
:: File "/tmp/tmp438b5rxl/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
:: json_out['return_val'] = hook(**hook_input['kwargs'])
:: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
:: File "/tmp/tmp438b5rxl/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
:: return hook(config_settings)
:: ^^^^^^^^^^^^^^^^^^^^^
:: File "/tmp/pip-build-env-avujfybc/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 333, in get_requires_for_build_wheel
:: return self._get_build_requires(config_settings, requirements=[])
:: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
:: File "/tmp/pip-build-env-avujfybc/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 301, in _get_build_requires
:: self.run_setup()
:: File "/tmp/pip-build-env-avujfybc/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 520, in run_setup
:: super().run_setup(setup_script=setup_script)
:: File "/tmp/pip-build-env-avujfybc/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 317, in run_setup
:: exec(code, locals())
:: File "", line 18, in
:: File "/tmp/pip-download-kuycbmxk/pbr_44eca0dc1cc2429fb2c1ebcbee964869/pbr/util.py", line 75, in
:: import pkg_resources
:: ModuleNotFoundError: No module named 'pkg_resources'
:: [end of output]
```

References:

* https://github.com/pypa/setuptools/issues/5174
* https://github.com/canonical/layer-basic/pull/229

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginne mit dem Build-Fehler im Issue und untersuche pbr/util.py beim gemeldeten pkg_resources-Import. Sieh dir anschließend canonical/layer-basic/pull/229 für die vorgeschlagene Richtung an. Reproduziere den isolierten Build mit setuptools 82 oder neuer; als abgeschlossen gilt dies, wenn der Build des layer-basic-Charm ohne ModuleNotFoundError erfolgreich abgeschlossen wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
build-system
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.