python / python/mypy

Namespace packages supported by default?

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

Personne n'a encore pris cette issue.

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

Description

I notice in the changelog that 0.990 adds support for namespace packages by default.

I've been using mypy on namespace packages (jaraco, svg, backports, and others) for some time now (https://github.com/jaraco/skeleton/commit/7455f2f25310b2d778a648e45d32033ccc790946).

With the release of mypy 0.990, however, tests have started failing across all projects with namespace packages:

error: Source file found twice under different module names: "collections" and "jaraco.collections"

The change log indicates that 0.990 adds support for namespace packages by default. Annoyingly, this change has had the opposite effect for my projects. I find that I can restore functionality by adding explicit_package_bases = True to the config file (or equivalent command line). It's slightly annoying to have to add this configuration to all of my projects just to support some projects with namespace packages.

Is it possible that explicit package bases will become default in the future?

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

Examinez le changelog de mypy 0.990 et le comportement de la configuration explicit_package_bases. Reproduisez l’erreur de module en double avec un projet de package d’espace de noms tel que jaraco ou backports, puis déterminez le comportement par défaut attendu. Le travail sera considéré comme terminé lorsqu’un comportement par défaut aura été décidé et que le scénario de package d’espace de noms concerné fonctionnera ou sera clairement documenté.

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

Évaluation

Stack technique
python
Domaine
tooling
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

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