現在の Python ワークフロー
pip、distributed、virtualenv、およびvirtualenvwrapperをPython 2.7 サイト パッケージ ( Mac OS X にインストールされたフレームワーク Python ) にインストールしました。私の~/.bash_profile
中で私はラインを持っています
export PIP_DOWNLOAD_CACHE=$HOME/.pip_download_cache
これにより、次のようなワークフローが得られます。
$ mkvirtualenv pip-test
$ pip install nose # downloaded and installed from PyPi
$ pip install mock # downloaded and installed from PyPi
$ mkvirtualenv pip-test2
$ pip install nose # installed from pip's download cache
$ pip install mock # installed from pip's download cache
質問
以前に別の virtualenv にインストールされたパッケージをダウンロードするわけではないため、このワークフローは時間と帯域幅を節約します。ただし、各パッケージが各 virtualenv にインストールされるため、ディスク容量は節約されません。したがって、私は疑問に思っています:
- 質問 #1 Python 2.7 サイト パッケージにインストールされていない1 つの Python パッケージを複数の virtualenv が参照するようにすることで、ディスク領域を節約できるこのワークフローへの変更はありますか?
virtualenvwrapper の一部であるadd2virtualenvを使用してみました。これにより、「指定されたディレクトリが現在アクティブな virtualenv の Python パスに追加されます」が、ディレクトリにある実行可能ファイルは追加されませんvirtualenv/bin
。したがって、以下は失敗します。
$ mkvirtualenv pip-test3
$ add2virtualenv ~/.virtualenvs/pip-test/lib/python2.7/site-packages/nose/
$ nosetests # Fails since missing ~/.virtualenvs/pip-test3/bin/nosetests
- 質問 #2仕組みについて何か見逃していることはあり
add2virtualenv
ますか? - 質問 #1 言い換え私の Python 2.7 サイト パッケージにインストールされていない1 つの Python パッケージを複数の virtualenv が参照できるようにする add2virtualenv よりも優れた方法はありますか?
- 質問 3共有 Python パッケージを複数の virtualenv にインストールする方法がある場合、Python パッケージを各 virtualenv に個別にインストールする場合と比較して、パフォーマンスの低下はありませんか?
- 質問 #4ディスク領域の節約をあきらめて、現在のワークフローを維持する必要がありますか?