「複数の環境」と言っているのは、例えば機械学習で言うと前処理、学習、精度検証のようなイメージ。
そういう環境で、ある程度実装も実行環境も分かれているけど一部の実装を共有したい場合どうするか。
pip packageにすると修正したらアップロードとインストールが必要になってめんどくさい。もっと気軽に変更したい。
なので以下のようにcommonフォルダを作って各環境と並列に置くようにした。
mypj/ common preprocess train eval
前処理を動かしたい場合は以下のようにPYTHONPATHを設定すればよい。
export PYTHONPATH=mpj/preprocess:mpj/common
PyCharmで開発する場合はコンテンツルートにcommonを追加すればコード補完などもやってくれるし実行時には自動的にcommonをPYTHONPATHに追加してくれる。
参考: