How import statement finds modules and packages
サンプル構造のパッケージ.
main.pyからadd and multiplyを相対パスとしてインポート中にエラーが発生しました.
mainモジュールが相対パスを使用している場合、Pythonは相対パスの開始点、すなわちmainモジュールの位置を見つけることができません.
相対パス
init
端末で直接Pythonファイルを実行する場合、name==“main”となります.Pythonインタプリタがmainモジュールの位置を知らないため、エラーが発生するのは当然です.
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.py
~multiply
を使用するとエラーが発生するため、絶対パスを使用する必要があります.init
端末で直接Pythonファイルを実行する場合、name==“main”となります.Pythonインタプリタがmainモジュールの位置を知らないため、エラーが発生するのは当然です.
Reference
この問題について(How import statement finds modules and packages), 我々は、より多くの情報をここで見つけました https://velog.io/@sjwm98/How-import-statement-finds-modules-and-packagesテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol