Cygwin 環境で Python を使用して、データ処理スクリプトと Python パッケージを開発しています。これらのスクリプトが依存するパッケージを更新しながら、スクリプトを積極的に使用したいと考えています。私の質問は、モジュールのロード パスを管理して開発の変更を分離してテストするが、運用スクリプトの動作には影響を与えないためのベスト プラクティス、推奨事項は何かということです。
Python は次の順序でモジュールをインポートします (M. Lutz のLearning Pythonを参照)
- ホーム ディレクトリ。
PYTHONPATH
ディレクトリ。- 標準ライブラリ ディレクトリ。
- 任意の
*.pth
ファイルの内容。
私の現在の解決策は、パッケージをローカル (ではなく/usr/lib/python2.x/
)ディレクトリにインストールし、グローバル ディレクトリにファイルsite-packages
を追加して、これらがデフォルトで読み込まれるようにすることです。次に、開発ディレクトリで、ローカルの変更に積極的に取り組んでいるパッケージをロードするように変更します。 *.pth
site-packages
PYTHONPATH
この状況を処理するより標準的な方法はありますか? virtualenv
モジュールのロードパスを操作する方法またはその他の方法を設定しますか?