python / python/mypy

Treat relative paths in config file relative to config file, not cwd

Ouverte
#7,967 4 commentaires 14 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

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

Description

When using mypy_path = src it should be treated relative to the config file (if any), not the current working directory.
This also applies to the default of cache_dir (.cache_dir), which currently gets created in the current working directory always.

I.e. a detected/found (project) config file could be treated as the root for options with relative defaults also.

As for mypy_path this could be achieved in the type callback, which then however would need the config file / root as a new argument:
https://github.com/python/mypy/blob/84126ab9985844d8cda3809688034af895fdaf7c/mypy/config_parser.py#L75

As for global user config files, it should treat relative files therein relative to it, but it should not be used as a root for default settings like cache_dir.

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 dans mypy/config_parser.py, autour du type callback à la ligne 75, et suivez la manière dont la racine de configuration du projet détectée est transmise au traitement des options. Vérifiez que les valeurs relatives de mypy_path et les valeurs par défaut de cache_dir utilisent le répertoire de configuration du projet, tandis que les chemins relatifs dans les fichiers de configuration utilisateur globaux utilisent le répertoire de ce fichier sans en faire la racine des paramètres par défaut.

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

Évaluation

Stack technique
python
Domaine
tooling
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

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