python / python/cpython

Reloading a lazy module that has not yet been materailized should be no-op

Aperta
#139,686 5 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

stdlib topic-importlib type-bug
Lingua principale
Python
Stelle
77.2k
Fork
35.9k
Metriche di merge delle PR
Metriche PR in attesa

Descrizione

Bug report

Bug description:

Reloading a not-yet materialized lazy module is not supported well. It makes sense for the reloading in this case to be no-op since when the actual loading happens e.g. by accessing an attribute, the new code will be loaded anyway. Currently, the reload tries to reload the module while its loaded is lazy in the first place.

CPython versions tested on:

3.13, 3.12, 3.14, CPython main branch

Operating systems tested on:

Linux

Linked PRs
  • gh-139857
  • gh-142649
  • gh-143584

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Esamina prima le PR collegate gh-139857, gh-142649 e gh-143584, poiché mostrano il lavoro già proposto per questo comportamento. Traccia il percorso di reload per un modulo lazy e verifica che il reload prima della materializzazione sia un no-op, mentre il successivo accesso a un attributo continui a caricare il codice aggiornato; il completamento dovrebbe includere la copertura delle regressioni.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python
Ambito
backend
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
30/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.