How import statement finds modules and packages


サンプル構造のパッケージ.

main.pyからadd and multiplyを相対パスとしてインポート中にエラーが発生しました.ImportError: attempted relative import with no known parent packageメインモジュールからパッケージモジュールをインポートするには、
# absoulte pach
# from calculator.add_and_multiply import add_and_multiply

# relative path
from .calculator.add_and_multiply import add_and_multiply

if __name__ == '__main__':
    print(add_and_multiply(1,2))
main.pyからadd_and_multiply.pyを輸入するためには、절대경로を使用する必要があります.
mainモジュールが相対パスを使用している場合、Pythonは相対パスの開始点、すなわちmainモジュールの位置を見つけることができません.add_and_multiply.pyからmultiplication.pyを輸入するためには、상대경로を与えなければならない.
相対パスadd_and_multiply.pymultiplyを使用するとエラーが発生するため、絶対パスを使用する必要があります.
init
端末で直接Pythonファイルを実行する場合、name==“main”となります.Pythonインタプリタがmainモジュールの位置を知らないため、エラーが発生するのは当然です.