Pythonで親階層のモジュールをインポートする方法について説明します。この記事は、Pythonで自作モジュールをインポートする際の対処方法について詳しく説明します。
モジュール探索パスを追加する
Pythonではimportはモジュールの探索 => ロードの順に実行されます。モジュールの探索対象のパスがsys.pathに格納されているので、そこに親ディレクトリのパスを追加してあげると正常にimportが実行されます。
import os
import sys
sys.path.append(os.pardir)
from common import util
print("this is %s" % __file__)
util.test()
親ディレクトリを環境変数PYTHONPATHに通す
sys.pathをいじるのが邪道だと感じる場合はこちらの方法があります。ローカル実行のみであれば、.bashrcに記載しておけば良いのですが、Dockerコンテナ内で.pyファイルを動かしたい場合は、ENVコマンド内で設定してあげる必要があります。
以上、Pythonで親階層のモジュールをインポートする方法について説明しました。この情報が皆さんのPythonプログラミングに役立つことを願っています。