SpyderでWindows 10を使用するIDE running Python 3.5。__init__.py
ファイルunable to detect undefined names
:
ただし、__init__.py
ファイルは、他のすべてのファイルと同じフォルダーにあります。
それでなぜそれが不平を言っているのですか?前面の先頭のドットを削除しようとしましたが、まだ不満があります。ポインタを教えてください。
あなたのIDEはPythonではなく文句を言います。あなたがそうするときfrom simple import *
、インポートするすべてsimple
によって公開されます。これはグローバル名前空間を汚染し、既存のオブジェクトを暗黙的に上書きする可能性があるため、通常は推奨されません。
この動作は常に悪いわけではないため、エラーではなく警告が表示されます。 __init__.py
サブモジュールからオブジェクトを公開するファイルは、非常に一般的なパターンです。潜在的なリスクを理解している限り、警告を止めてください。
from .input import * # NOQA
モジュールが多くのオブジェクトを公開しない場合は、名前でそれらをインポートします。
from .input import A, B, C
これには、Pythonコード分析ツールがコードをよりよく理解し、潜在的な問題について警告することを許可するという利点があります。