6

I have a couple projects that require similar dependencies, and I don't want to have pip going out and DLing the dependencies from the web every time. For instance I am using the norel-django package which would conflict with my standard django (rdbms version) if I installed it system wide.

Is there a way for me to "reuse" the downloaded dependancies using pip? Do I need to DL the source tar.bz2 files and make a folder structure similar to that of a pip archive or something? Any assistance would be appreciated.

Thanks

4

2 に答える 2

8

に次を追加します$HOME/.pip/pip.conf

[global]
download_cache = ~/.pip/cache

これにより、ダウンロードをキャッシュするように pip に指示される~/.pip/cacheため、次回から再度ダウンロードする必要がなくなります。

于 2012-11-09T15:51:39.063 に答える
0

virtualenv にvirtualenv-cloneコマンドがあるように見えますか、それともおそらくvirtualenvwrapperありますか?

とにかく、仮想環境のディレクトリをコピーして貼り付けるよりも、もう少し複雑なようです。

https://github.com/edwardgeorge/virtualenv-clone

さらに、virtualenv には、virtualenv の移動を容易にするフラグがあるようです。

http://www.virtualenv.org/en/latest/#making-environments-relocatable

$ virtualenv --relocatable ENVvirtualenv doc から:

これにより、setuptools または distribution によって作成されたファイルの一部が相対パスを使用し、Python インタープリターの場所を使用して環境を選択する代わりに、すべてのスクリプトが activate_this.py を使用するように変更されます。

注: 環境にパッケージをインストールした後、これを実行する必要があります。環境を再配置可能にしてから新しいパッケージをインストールする場合は、virtualenv --relocatable を再度実行する必要があります。

また、これによってパッケージがクロスプラットフォームになるわけではありません。ディレクトリを移動できますが、他の同様のコンピューターでのみ使用できます。非互換性を引き起こす可能性があるいくつかの既知の環境の違い: Python の異なるバージョン、あるプラットフォームが内部 Unicode 表現に UCS2 を使用し、別のプラットフォームが UCS4 (コンパイル時のオプション) を使用する場合、Windows と Linux、または Intel と Intel のような明らかなプラットフォームの変更。 ARM、およびシステム上の C ライブラリにバインドするライブラリがある場合、それらの C ライブラリが別の場所 (別のバージョンまたは別のファイルシステム レイアウト) にある場合。

このフラグを使用して環境を作成すると、現在、 --system-site-packages オプションが暗黙的に指定されます。

于 2012-11-09T15:47:53.167 に答える