pipキャッシュフォルダはどこにありますか


98

Python pipキャッシュフォルダはどこにありますか?インストール中にエラーが発生し、キャッシュファイルを使用してパッケージを再インストールしました

そのディレクトリはどこにありますか?将来インストールするためにバックアップしたいです。出来ますか ?

たとえば、私はこれを持っています:

Using cached cssselect-0.9.1.tar.gz

私はグーグルでこのディレクトリを検索しましたが、私が見たものはすべて、フォルダからインストールする方法を学び、デフォルトのキャッシュディレクトリを見つけたいと思っています。

そして別の質問ですが、これらのキャッシュファイルはそのディレクトリにとどまるのでしょうか、それともすぐに削除されるのでしょうか?


1
OSによって異なります。
Martin Konecny 2016年

windows @MartinKonecny
Arash Hatami

3
私はそれが~\AppData\Local\pip\cacheWindows上にあると信じています。
fredrik 2016年

'0f4017d43a13156e41129019e85a69fcc2dd34e6904ed88395bb5451'のような名前が不明なファイルがたくさんあります...正確に 'cssselect-0.9.1.tar.gz'ファイルを見つけることができますか?@fredrik
Arash Hatami

2
この場合のように、キャッシュは常に人間が読めるとは限りません。
fredrik 2016年

回答:


41

オペレーティングシステムによって異なります。

ピップ20.1以降で、あなたがそれを見つけることができます。

pip cache dir

たとえば、macOSの場合:

$ pip cache dir
/Users/hugo/Library/Caches/pip

ドキュメント:


ええ...それは古い質問です(約4年:D)
ArashHatami20年

1
古いですが、まだ関連しています!github.com/hugovk/pypistats/pull/105/commits/...
ヒューゴ

1
PIP_CACHE_DIRこのディレクトリを設定するには、環境変数も参照してください。
AlexPovel20年

128

キャッシュディレクトリのデフォルトの場所は、オペレーティングシステムによって異なります。

Unix

〜/ .cache / pipであり、XDG_CACHE_HOMEディレクトリを尊重します。

マックOS

〜/ Library / Caches / pip

ウィンドウズ

<CSIDL_LOCAL_APPDATA> \ pip \ Cache

ホイールキャッシュ

pipは、pipキャッシュディレクトリ内のサブディレクトリwheelsから読み取り、そこにあるパッケージを使用します。[をちょきちょきと切る]

https://pip.pypa.io/en/latest/reference/pip_install/#caching

キャッシュディレクトリの場所は、コマンドラインオプションを使用して変更できます--cache-dir


7
<CSIDL_LOCAL_APPDATA> ==%LOCALAPPDATA%
Winand

%LOCALAPPDATA%\ pip \ Cache
Alex781 9119年

1
$XDG_CACHE_HOME空です。find ~/.cache/pip | grep -i tensorショーtensorflow_determinismsilence_tensorflowホイールですが、そうではありませんtensorflow-gpu。まだpip install tensorflow-gpu言いUsing cached https://.../tensorflow_gpu-2.0.0-cp37-cp37m-manylinux2010_x86_64.whlます。このファイルを他にどこで探す必要がありますか?
BERを

(私もダウンロードtensorflow_gpu-2.0.0-cp37-cp37m-manylinux2010_x86_64.whlして重複をチェックしましfdupesたが、何も見つかりませんでした...)
bers19年

24

Pythonicおよびクロスプラットフォームの方法:

import pip
from distutils.version import LooseVersion

if LooseVersion(pip.__version__) < LooseVersion('10'):
    # older pip version
    from pip.utils.appdirs import user_cache_dir
else:
    # newer pip version
    from pip._internal.utils.appdirs import user_cache_dir

print(user_cache_dir('pip'))
print(user_cache_dir('wheel'))

内部的には、パスを正規化し、エキゾチックおよび通常のオペレーティングシステムとプラットフォームのさまざまな場所を管理し、Windowsレジストリルックアップを実行します。

言及する価値があるかもしれませんが、異なるPythonバージョン(2.xと3.x)がインストールされている場合、それらはすべて同じキャッシュの場所を共有します。


5
ModuleNotFoundError: No module named 'pip.utils'、Ubuntuのpip10.0.1。
Gringo Suave 2018年

1
あなたが望んでいた場合はpip自身のキャッシュディレクトリを、あなたはまた、単に使用することができますfrom pip._internal.locations import USER_CACHE_DIRまたはpython -c "from pip._internal.locations import USER_CACHE_DIR; print(USER_CACHE_DIR)"あなたがなど、スクリプトで物事をつかんでいた場合
ryanjdillon

_internal値を取得して取得しないでください。pipの内部は、ライブラリのように使用されることを意図したものではなく、変更される可能性があります。pip cache dirpip 20.1以降では、この値を取得するための最良の方法です。
pradyunsg

8

キャッシュフォルダのバックアップを実行するのではなく、関連するホイールをバックアップできます。

バージョン0.9.1のcsselectのホイールを次の場所にダウンロードし/tmp/wheelhouseます。

pip wheel --wheel-dir=/tmp/wheelhouse cssselect==0.9.1

ダウンロードしたホイールをインストールします。

pip install /tmp/wheelhouse/cssselect-0.9.1-py2-none-any.whl

cssselect-0.9.1-py2-none-any.whlファイル名はどの程度安定していて予測可能ですか?
ブレイズ2017

パッケージ化するときに、メンテナがsetup.pyで何をしているかによって異なります。
fredrik 2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.