Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Possible unhandled `StopIteration`

Offen Anfängerfreundlich
#869 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
68/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Ruhig
Tech-Stack
python
Bereich
build-system

Rechercherichtung

Beginne in mesonpy/init.py ungefähr bei Zeile 160 und untersuche den purelib/platlib-Konfliktzweig, insbesondere die Suche in wheel_files[other]. Ändere den Pfad für den fehlenden Eintrag so, dass ein leeres install_subdirs-Ergebnis einen eingeschränkten, aber hilfreichen BuildError statt eines unverarbeiteten StopIteration oder RuntimeError erzeugt. Erledigt ist die Änderung, wenn der Konflikt weiterhin klar gemeldet wird, selbst wenn keine Wheel-Dateien verfügbar sind.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

StopIteration can mask the split-package error in mesonpy/__init__.py:160. In the purelib/platlib conflict branch, next(entry for entry in wheel_files[other] ...) has no default. If the package was first registered by an install_subdirs entry whose directory walked to zero files, packages has the entry but wheel_files[other] has none, and the user gets a raw StopIteration/RuntimeError instead of the helpful BuildError. Use next(..., None) and degrade the message.

Originally reported in #861.

This is a correct observation. However, the condition for triggering it is between very unlikely and impossible. I haven't yet tried to determine whether it is really impossible.

Vorherrschende Sprache
Python
Sterne
180
Forks
93
Ø Merge
18 Std. 1 Min.
Gemergte PRs (30 T.)
18

Entwicklungsumgebung

Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus mesonbuild/meson-python

Alle Issues in mesonbuild/meson-python

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

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