日々精進

新しく学んだことを書き留めていきます

Pythonで複数の環境で共有したい、けどpipなどのpackageにするほどでもないコードの共有

「複数の環境」と言っているのは、例えば機械学習で言うと前処理、学習、精度検証のようなイメージ。

そういう環境で、ある程度実装も実行環境も分かれているけど一部の実装を共有したい場合どうするか。

pip packageにすると修正したらアップロードとインストールが必要になってめんどくさい。もっと気軽に変更したい。

なので以下のようにcommonフォルダを作って各環境と並列に置くようにした。

mypj/
  common
  preprocess
  train
  eval

前処理を動かしたい場合は以下のようにPYTHONPATHを設定すればよい。

export PYTHONPATH=mpj/preprocess:mpj/common

PyCharmで開発する場合はコンテンツルートにcommonを追加すればコード補完などもやってくれるし実行時には自動的にcommonをPYTHONPATHに追加してくれる。

参考:

pleiades.io