Maison > Article > développement back-end > Pourquoi Python 3.6.1 renvoie-t-il une \"AttributeError : le module \'enum\' n'a pas d'attribut \'IntFlag\'\" ?
Pourquoi Python 3.6.1 déclenche AttributeError : le module 'enum' n'a pas l'attribut 'IntFlag'
Lors de la tentative d'exécution de Python 3.6.1, une erreur obscure peut apparaître : "AttributeError : le module 'enum' n'a pas d'attribut 'IntFlag'." Cette perplexité surgit malgré le fait que la classe 'IntFlag' est une partie connue du module enum.py.
Pour résoudre cette énigme, examinons la source sous-jacente du problème : un conflit entre la bibliothèque standard module enum et un package tiers nommé enum34. Si enum34 est présent dans l'environnement Python, il pourrait être confondu avec le module enum de la bibliothèque standard, provoquant une confusion.
Pour découvrir cette possibilité, il est conseillé d'examiner la propriété 'enum.__file__'. L'emplacement du module d'énumération de la bibliothèque standard doit ressembler à "/usr/local/lib/python3.6/enum.py". S'il pointe ailleurs, cela indique qu'un module étranger est en cours d'utilisation.
Pour résoudre le conflit, désinstallez simplement le package enum34.
pip uninstall -y enum34
Si le code nécessite une compatibilité entre les versions de Python, les deux supérieur ou égal à 3,4 et supérieur à 3,4, envisagez d'utiliser enum-compat comme exigence. Ce package garantit qu'enum34 est installé uniquement pour les anciennes versions de Python dépourvues du module enum de bibliothèque standard.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!