unexpected attr-defined error in imports in dead code
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 20.6k
- Forks
- 3.3k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
Bug Report
mypy still gives an attr-defined error in dead code when importing platform-specific attributes from modules.
To Reproduce
import sys
if sys.platform != "win32":
assert False
from ctypes import windll
Check it on any OS other than Windows.
Expected Behavior
No errors. This is valid code since it has the platform-specific guard.
Actual Behavior
$ uvx mypy example.py
example.py:6: error: Module "ctypes" has no attribute "windll" [attr-defined]
Found 1 error in 1 file (checked 1 source file)
Your Environment
- Mypy version used: mypy 1.19.0 (compiled: yes)
- Mypy command-line flags: none
- Mypy configuration options from
mypy.ini(and other config files): none - Python version used: 3.12
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
Reproduziere den Bericht mithilfe des example.py-Snippets und uvx mypy example.py auf einem Nicht-Windows-System. Verfolge, wie mypy plattformspezifische Importe in totem Code behandelt, und füge eine gezielte Testabdeckung für diesen Fall hinzu, falls die relevante Teststelle gefunden wird. Als erledigt gilt die Aufgabe, wenn der geschützte Import from ctypes import windll keinen attr-defined-Fehler mehr erzeugt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- tooling
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 45/100