mypy sometimes emits fewer errors when running on multiple files at once
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 35/100
Piste de recherche
Décompressez repro.zip et exécutez les deux commandes du rapport avec foo.py et bar.py afin de reproduire les diagnostics différents. Suivez la manière dont les imports de mymodule.a et mymodule.b sont traités lorsque les fichiers sont vérifiés ensemble, puis assurez-vous que l’erreur d’attribut manquant continue d’être signalée dans les deux invocations.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Bug Report
Hello there,
I am witnessing (rare) cases where mypy emits fewer errors when running on multiple files at the same time than when running on each file individually.
More specifically, I noticed that mypy can fail to report an error when an import for a submodule is missing a one file but present in another file.
I failed to find anything relevant in the documentation or in the existing issues, so I thought I'd let you know. Below is my attempt at a minimal reproducible example.
To Reproduce
(Since multiple files are needed, here is an archive with the reproduction case: repro.zip)
Given a module mymodule with nested modules a and b, and this file foo.py:
import mymodule.a
def blah() -> None:
mymodule.b.fn()
blah()
As expected, when called on foo.py, mypy emits an error:
$ mypy --cache-dir /dev/null foo.py
foo.py:5: error: Module has no attribute "b"
Found 1 error in 1 file (checked 1 source file)
yet if I add to mypy's command line a second file which does import mymodule.b, say bar.py:
import mymodule.b
then mypy does not emit the error any more, even though I would expect it to:
$ mypy --cache-dir /dev/null foo.py bar.py
Success: no issues found in 2 source files
Your Environment
I used mypy 0.991 on Ubuntu 22.04 with python 3.10.6; I can reproduce this behavior with master, as well as python 3.8, and older versions of mypy.
- Langage dominant
- Python
- Étoiles
- 20.6k
- Forks
- 3.3k
- Merge moyen
- 1 j 18 h
- PR mergées (30 j)
- 54
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de python/mypy
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
-
documentation
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
-
bug topic-configuration topic-error-reporting
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Toutes les issues de python/mypy
Issues similaires
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 86/100
zostera/django-bootstrap4#894 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
use-agent-os/agent-os#3276 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
zephyrproject-rtos/zephyr#119726 ·
-
area/auth bug comp/agent P3 platform/discord type/security
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
NousResearch/hermes-agent#117848 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
zilliztech/memsearch#759 ·