python / python/mypy

torch-nn-functional-mypy-bug-when-torchvision-installed

Offen
#17,705 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

crash
Vorherrschende Sprache
Python
Sterne
20.6k
Forks
3.3k
PR-Merge-Kennzahlen
PR-Kennzahlen ausstehend

Beschreibung

description

mypy crashes on a file that imports torch.nn.functional when torchvision is installed in conjunction with --follow-imports=skip flag.

traceback

$ mypy --show-traceback --follow-imports=skip harmless.py
Traceback (most recent call last):
  File "/home/eytan/miniconda3/envs/mypy/bin/mypy", line 8, in <module>
    sys.exit(console_entry())
  File "/home/eytan/miniconda3/envs/mypy/lib/python3.10/site-packages/mypy/__main__.py", line 15, in console_entry
    main()
  File "mypy/main.py", line 103, in main
  File "mypy/main.py", line 187, in run_build
  File "mypy/build.py", line 193, in build
  File "mypy/build.py", line 268, in _build
  File "mypy/build.py", line 2950, in dispatch
  File "mypy/build.py", line 3348, in process_graph
  File "mypy/build.py", line 3475, in process_stale_scc
  File "mypy/build.py", line 2507, in write_cache
  File "mypy/build.py", line 1568, in write_cache
  File "mypy/nodes.py", line 390, in serialize
  File "mypy/nodes.py", line 4012, in serialize
  File "mypy/nodes.py", line 3949, in serialize
  File "mypy/nodes.py", line 3374, in serialize
  File "mypy/types.py", line 671, in serialize
  File "mypy/types.py", line 2428, in serialize
  File "mypy/types.py", line 1451, in serialize
  File "mypy/types.py", line 671, in serialize
  File "mypy/types.py", line 3093, in serialize
AssertionError: Internal error: unresolved placeholder type None

Minimal example repo with instructions

environment

  • OS: Ubuntu 22.04.4
  • miniconda: 24.5.0
  • mypy: 1.11.1

reproduced in:

  • Python: 3.10, 3.11, 3.12

full pip freezes in example repo

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit dem verlinkten Minimalbeispiel-Repository und führe den gemeldeten mypy-Befehl mit --follow-imports=skip aus, wobei torch und torchvision installiert sind. Verfolge den in mypy/build.py, mypy/nodes.py und mypy/types.py genannten Cache-Schreibpfad und überprüfe anschließend, dass der Befehl ohne die nicht aufgelöste Platzhalter-Typassertion abgeschlossen wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python, pytorch
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

Neue Issues direkt in Ihr Postfach

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