Python の相対インポート: 「非パッケージ」エラーについて
「非パッケージで相対インポートが試行されました」という普遍的な問題これは、スクリプトとモジュールの区別と、実行中のそれぞれの動作の誤解に起因します。 import.
スクリプトとモジュール
Python ファイルが直接実行されると、それはトップレベルのスクリプトとして機能し、「__main__」という名前が割り当てられます。インポートすると、ファイルの名前は、ドットで区切られたパッケージ名の後にファイル名が続きます。
相対インポートとパッケージ
相対インポートでは、モジュールの名前を使用してモジュールを見つけます。パッケージ階層内の位置。ただし、モジュール名にパッケージ情報 (例: "__main__") が含まれていない場合、実際のファイルの場所に関係なく、相対インポートは最上位モジュールであるかのように解決されます。
「非パッケージ」エラー
このエラーは、パッケージの一部として認識されないモジュール内で相対インポートが試行されたときに発生します。これは、モジュール名にドットが含まれておらず、非パッケージ ステータスを示している場合に発生する可能性があります。
解決策
エラーを解決するには、次のアプローチを検討してください。
追加メモ:
以上がPython が「非パッケージでの相対インポート」エラーをスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。