dockerを使っていて、sys.path.appendを使って自作のモジュールをインポートしようとしていて、うまくいかなかったときです。
カレントディレクトリを勘違いしていたというただのアホです。
ディレクトリ構成
app_name
modules
testmodu
modu.py
app.py
Dockerfile
sys.path.appendはapp.pyをローカル環境で実行すると以下で通ります。
import sys
sys.path.append('modules/testmodu')
from modu import hello
print(hello())
Docker上でやってみると以下うまくいかない
間違ったapp.py
sys.path.append('modules/testmodu')
from modu import hello
dockerのカレントディレクトリを考慮してパスを指定しなければいけないです。場合によって違うと思いますが今回は下のディレクトリで
正しいapp.py
sys.path.append('app_name/modules/testmodu')
from modu import hello
ただのアホですね。はい。
どうやったらこういうのパって気付けるんだろう。