PIPが以前にダウンロードしたパッケージを再ダウンロードしないようにするにはどうすればよいですか?いくつかのディストロ固有のパッケージに依存する11MBのパッケージであるmatplotlibのインストールをテストしています。実行するたびにpip install matplotlib
、matplotlibが再ダウンロードされます。これを止めるにはどうすればよいですか?
3 に答える
注: HTTPS経由でダウンロードされたホイールのみがキャッシュされます。プレーンな古いHTTPでカスタムリポジトリを使用している場合、キャッシュは無効になります。
新しいPipバージョンの場合:
新しいPipバージョンは、デフォルトでダウンロードをキャッシュするようになりました。次のドキュメントを参照してください。
https://pip.pypa.io/en/stable/cli/pip_install/#caching
古いPipバージョンの場合:
、という名前の構成ファイルを作成し~/.pip/pip.conf
、次の内容を追加します。
[global]
download_cache = ~/.cache/pip
1つのコマンドで:
printf '[global]\ndownload_cache = ~/.cache/pip\n' >> ~/.pip/pip.conf
特定の環境変数PIP_DOWNLOAD_CACHEを使用して、パッケージが保存されるディレクトリを指すようにすることができます。それらを再度インストールする場合は、このディレクトリから取得されます。
pip --download-cache
同様のことを行うはずのPIPの追加オプションもあるようですが、私はそれを自分で試したことがありません。たとえば、matplotlib
毎回再ダウンロードしないようにするには、次のようにします。
pip install --download-cache /path/to/pip/cache matplotlib
それはあなたの質問に答えますか?
あなたは出来る
# download and extract package to build path
pip install --no-install matplotlib
# the build path could be found by
pip install --help|grep Unpack\ packages\ into -A 2
# then rm pip-delete-this-directory.txt inside the build path
# this prevent pip from removing package from the build directory after install
# you could check the content of the file
rm build/pip-delete-this-directory.txt
# from now on you could install matplotlib quickly
# this uses single build directory
# and can speed up compiling by caching intermediate objects.
pip install --no-download matplotlib
また、パッケージを手動でダウンロードすることもできます
pip install -d dir_for_packages matplotlib
次に、untar以降でインストールしpython setup install
ます。
追加のpip install --download-cache
チェックを使用して同様に機能します。最初にWebからターゲットパッケージの最新または指定されたバージョンを検索します。検索結果があり、で指定されたディレクトリdownload-cache
にキャッシュされたパッケージがある場合は、代わりにキャッシュされたパッケージが使用されます。ダウンロードの。例えば、
pip install --download-cache . pymongo
pymongoパッケージを現在のディレクトリにダウンロードします。
http%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2Fp%2Fpymongo%2Fpymongo-2.1.1.tar.gz
http%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2Fp%2Fpymongo%2Fpymongo-2.1.1.tar.gz.content-type