"test/data/img.jpg"のように指定すると、working directoryの位置に依存してしまう。 pythonファイルの実行方法は
- Flaskサーバから実行する
- 開発環境でtestを実行する
- CIサーバでtestを実行する
のようにいくつかあり、それぞれworking directoryが異なることが多いので 以下のようにすべき。
- Rootにしたいフォルダのinit.pyに以下を書く
from pathlib import Path ROOT_PATH = str(Path(__file__).parent)
- 他のファイルはこのファイルをimportしてROOT_PATHからの相対パスの形でパスを書く
from foo_service import ROOT_PATH os.environ["LOGGING_CONFIG"] = f"{ROOT_PATH}/test/logging.conf"
参考: