python / python/mypy

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

Ouverte
#17,705 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

crash
Langage dominant
Python
Étoiles
20.6k
Forks
3.3k
Métriques de merge des PR
Métriques de PR en attente

Description

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

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par le dépôt d’exemple minimal lié et exécutez la commande mypy indiquée avec --follow-imports=skip, avec torch et torchvision installés. Suivez le chemin d’écriture du cache nommé dans mypy/build.py, mypy/nodes.py et mypy/types.py, puis vérifiez que la commande se termine sans l’assertion de type d’espace réservé non résolue.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python, pytorch
Domaine
devtools
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.