Dmypy only respects the `follow_imports=skip` override on the first run

Offen
#16,190 3 Kommentare 5 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
48/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Veraltet
Tech-Stack
python
Bereich
cli, devtools

Rechercherichtung

Beginne damit, das Problem zweimal mit dmypy run bar.py unter Verwendung des gezeigten pyproject.toml und des gezeigten Inhalts von bar.py nachzustellen, und vergleiche anschließend die Ausgabe des Daemons mit wiederholten Aufrufen von mypy bar.py. Erledigt ist die Aufgabe, wenn jeder dmypy-Lauf die Überschreibung follow_imports = "skip" berücksichtigt und die erwarteten aufgedeckten Typen meldet.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

bug topic-daemon

Bug Report

Dmypy ignores follow_imports=skip override on the second run.

To Reproduce

import IPython.terminal.prompts


reveal_type(IPython)
reveal_type(IPython.terminal.prompts)

pyproject.toml:

[tool.mypy]
python_version = "3.10"
follow_imports = "normal"

[[tool.mypy.overrides]]
module = [
    "IPython.terminal.prompts",
]
follow_imports = "skip"

Expected Behavior

All runs of dmypy run bar.py will show the same output:

bar.py:4: note: Revealed type is "types.ModuleType"
bar.py:5: note: Revealed type is "Any"

Actual Behavior

The first run of dmypy run bar.py shows:

bar.py:4: note: Revealed type is "types.ModuleType"
bar.py:5: note: Revealed type is "Any"

The second run of dmypy run bar.py shows:

bar.py:4: note: Revealed type is "types.ModuleType"
bar.py:5: note: Revealed type is "types.ModuleType"

Running mypy bar.py works correctly every time.

Your Environment

  • Mypy version used: mypy 1.4.0
  • Mypy command-line flags:
  • Mypy configuration options from mypy.ini (and other config files):
  • Python version used: Python 3.10.12
Vorherrschende Sprache
Python
Sterne
20.6k
Forks
3.3k
Ø Merge
1 T. 18 Std.
Gemergte PRs (30 T.)
54

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus python/mypy

Alle Issues in python/mypy

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.