ホームページ >バックエンド開発 >Python チュートリアル >Python 3.6.1 が「AttributeError: module \'enum\' has no Attribute \'IntFlag\'\」をスローするのはなぜですか?
Python 3.6.1 が AttributeError: Module 'enum' Lacks 'IntFlag' Attribute をトリガーする理由
Python 3.6.1 を実行しようとすると、 「属性エラー: モジュール 'enum' には属性 'IntFlag' がありません。」という不明瞭なエラーが表示される場合があります。この困惑は、「IntFlag」クラスが enum.py モジュールの既知の部分であるという事実にもかかわらず生じます。
この謎を解明するために、問題の根本的な原因、つまり標準ライブラリ間の衝突を詳しく調べます。モジュール enum と enum34 という名前のサードパーティ パッケージ。 enum34 が Python 環境に存在する場合、標準ライブラリの enum モジュールと間違われ、混乱が生じる可能性があります。
この可能性を明らかにするには、「enum.__file__」プロパティを詳しく調べることをお勧めします。標準ライブラリ enum モジュールの場所は、「/usr/local/lib/python3.6/enum.py」のようになります。他の場所を指している場合は、外部モジュールが使用中であることを示します。
競合を解決するには、単に enum34 パッケージをアンインストールします。
pip uninstall -y enum34
コードに Python バージョン間での互換性が必要な場合は、両方のバージョンの互換性が必要です。 3.4 以上および 3.4 より大きい場合は、要件として enum-compat の利用を検討してください。このパッケージにより、標準ライブラリ enum モジュールが欠落している古い Python バージョンに対してのみ enum34 がインストールされるようになります。
以上がPython 3.6.1 が「AttributeError: module \'enum\' has no Attribute \'IntFlag\'\」をスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。