Errors in followed imports cause crash without a way to ignore unless import following is entirely disabled
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 20.6k
- Forks
- 3.3k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
I think related to https://github.com/python/mypy/issues/6897 which was closed, but I often want to enable type checking on a module that imports a number of 3p packages that I have no control over.
However, I am finding that the import-following behavior for mypy is quite sensitive to things that I can't really control or easily ignore. I would expect that --follow-imports=silent would gracefully degrade in situations where this happens, but I find many cases where a stray comment (e.g. # type: some comment that's not actually a type specification) will cause a syntax error that causes the whole execution to error, and I can't find a way to ignore it without completely disabling --follow-imports.
I've encountered this with stray comments in tensorflow, for example. Is there any way to more gracefully fallback and recover from these kinds of errors in mypy? Or at least allow more fine-grained control on import following to not fail on syntax errors for specific external modules?
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne damit, den Fehler mit mypy's Option --follow-imports=silent und einem importierten Drittanbietermodul zu reproduzieren, das einen überflüssigen typähnlichen Kommentar enthält, wie im gemeldeten TensorFlow-Fall. Verfolge, wie Syntaxfehler in den verfolgten Imports behandelt werden; abgeschlossen ist die Arbeit, wenn Fehler in externen Imports wiederhergestellt werden können oder mit einer fein abgestuften Kontrolle ignoriert werden können, ohne das Verfolgen von Imports vollständig zu deaktivieren.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- devtools
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 25/100