Modules and Packages
2035 ワード
sys.modules vs. sys.path
Pythonモジュール/パッケージの検索順序
1. sys.mmodules
2. built-in modules
3. sys.path
sys.modules
sys.path
sysモジュールの場所の検索
sysはPythonに含まれるモジュールであるため、sysモジュールをsysにインポートする.モジュールとシステム.pathを出力、変更できます
import sys
print(sys.path)
print(sys.modules)
Absolute Path vs. Relative Path
Absolute path
Relative Path
インポート先定義パス
->通常は絶対パスを使用
コンピュータパッケージ
main.pyからadd and multiplyを相対パスにインポートするときに発生するエラーを確認します。メインモジュールがパッケージ内のモジュールをインポートする方法については、次のPython公式ドキュメントを参照してください。
注https://docs.python.org/3/tutorial/modules.html#intra-package-references
ImportError: attempted relative import with no known parent package
->親から相対パスにインポートしようとしたときに発生したエラー
解決策
メインモジュールとして使用するモジュールは常に絶対インポートを使用します!!!
from .calculator.add_and_multiply import add_and_multiply
活動場所を表す
from calculator.add and multiply import add and multiplyに変更して、次のエラーを解消します.
add_and_multiply.pyに複数の関数の絶対パスと相対パスをそれぞれインポートし、メインモジュールとの違いを考慮して結果を出力します。
相対パスにインポート中にエラー
絶対パスを使用してメインモジュールをメインモジュールとして使用
init.pyファイルの役割
init.pyファイルにコードがなくても、ディレクトリがパッケージであることがわかります.
Reference
この問題について(Modules and Packages), 我々は、より多くの情報をここで見つけました https://velog.io/@isyqwer1/Modules-and-Packagesテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol