Python相対参照エラーImportError:attempted relative import with no known parent packageの処理方法
588 ワード
エラーメッセージImportError:attempted relative import with no known parent package
エラーメッセージは、相対パスを使用してインポートしようとしたが、既知の親パケットが見つからなかったことを意味します.一般的に、実行可能な.pyファイル内で相対パスを使用してインポートしようとすると、このエラーが発生します.エラーの原因は、pythonの相対パスインポートが実際には、現在のファイルの親パケットパスによって実現される必要があるためです.すなわち、.pyファイルの__を判断することによってname__および_package__プロパティを使用して、親パケットに関する情報を取得します.実行可能な.pyアプリケーションファイルに次のものがあります.
これにより、mainエントリがファイルに導入され、ファイルの_name__属性は'_main__’そして_package__プロパティはNoneです.このようなファイルで相対パスを使用して導入すると、解釈器は親パケットの情報を見つけられず、エラーが表示されます.
解決策は相対導入を絶対導入に変更することである.
エラーメッセージは、相対パスを使用してインポートしようとしたが、既知の親パケットが見つからなかったことを意味します.一般的に、実行可能な.pyファイル内で相対パスを使用してインポートしようとすると、このエラーが発生します.エラーの原因は、pythonの相対パスインポートが実際には、現在のファイルの親パケットパスによって実現される必要があるためです.すなわち、.pyファイルの__を判断することによってname__および_package__プロパティを使用して、親パケットに関する情報を取得します.実行可能な.pyアプリケーションファイルに次のものがあります.
if __name__ == '__main__':
これにより、mainエントリがファイルに導入され、ファイルの_name__属性は'_main__’そして_package__プロパティはNoneです.このようなファイルで相対パスを使用して導入すると、解釈器は親パケットの情報を見つけられず、エラーが表示されます.
解決策は相対導入を絶対導入に変更することである.