module name assumed is __main__ for .pyw files on windows
Nessuno ha ancora preso questa issue.
- Lingua principale
- Python
- Stelle
- 20.6k
- Fork
- 3.3k
- Metriche di merge delle PR
- Metriche PR in attesa
Descrizione
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.
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia usando il file batch Windows test.txt allegato per riprodurre l'errore di modulo duplicato con due file .pyw. Poi traccia la gestione di mypy della conversione dei percorsi dei file in nomi di modulo e aggiungi un test di regressione che copra più input .pyw Windows; il lavoro è completato quando non entrano più in conflitto come main.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- devtools
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 45/100