Treat relative paths in config file relative to config file, not cwd
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
- 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.
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