module name assumed is __main__ for .pyw files on windows
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 20.6k
- Forks
- 3.3k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
Bug Report
On windows, .pyw is a valid extension for Python files (to be executed by pythonw.exe).
mypy however assumes files with .pyw extension to have module name __main__.
This results in a False negative when 2 or more .pyw files are checked by mypy.
To Reproduce
Have mypy check 2 or more files with .pyw extension on windows.
Expected Behavior
No mypy issue.
Actual Behavior
application_2.pyw: error: Duplicate module named "__main__" (also at "application_1.pyw")
application_2.pyw: note: See https://mypy.readthedocs.io/en/stable/running_mypy.html#mapping-file-paths-to-modules for more info
application_2.pyw: note: Common resolutions include: a) using `--exclude` to avoid checking one of them, b) adding `__init__.py` somewhere, c) using `--explicit-package-bases` or adjusting MYPYPATH
Found 1 error in 1 file (errors prevented further checking)
Your Environment
Python 3.12.5
mypy==1.11.1
mypy-extensions==1.0.0
typing_extensions==4.12.2
Please run the attached windows batch file to reproduce.
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, die angehängte Windows-Batchdatei test.txt zu verwenden, um den Fehler wegen doppelter Module mit zwei .pyw-Dateien zu reproduzieren. Verfolge anschließend mypy's Verarbeitung von Dateipfaden zu Modulnamen und füge einen Regressionstest hinzu, der mehrere Windows-.pyw-Eingaben abdeckt; abgeschlossen ist die Aufgabe, wenn sie nicht mehr als main kollidieren.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- devtools
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 45/100