Di mana folder pip cache

93

Di mana folder cache pip Python ? Saya mengalami kesalahan saat menginstal dan sekarang menginstal ulang paket menggunakan file cache

Dimana direktori itu? Saya ingin mencadangkannya untuk dipasang di masa mendatang. Apa itu mungkin ?

Misalnya saya punya yang ini:

Using cached cssselect-0.9.1.tar.gz

Saya mencari google untuk direktori ini tetapi apa pun yang saya lihat, adalah belajar bagaimana menginstal dari folder, saya ingin menemukan direktori cache default.

Dan pertanyaan lain, file cache ini akan tetap berada di direktori itu atau akan segera dihapus?

Arash Hatami
sumber
1
Itu tergantung pada OS-nya.
Martin Konecny
windows @MartinKonecny
Arash Hatami
3
Saya yakin ini ada di ~\AppData\Local\pip\cacheWindows.
fredrik
ada banyak file dengan nama yang tidak jelas seperti '0f4017d43a13156e41129019e85a69fcc2dd34e6904ed88395bb5451' ... dapatkah saya menemukan persis file 'cssselect-0.9.1.tar.gz' ??? @fredrik
Arash Hatami
2
Cache tidak selalu dapat dibaca manusia, seperti dalam kasus ini.
fredrik

Jawaban:

33

Itu tergantung pada sistem operasi.

Dengan pip 20.1 atau lebih baru, Anda dapat menemukannya dengan:

pip cache dir

Misalnya dengan macOS:

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

Dokumen:

Hugo
sumber
Ya ... Ini pertanyaan lama (sekitar 4 tahun: D)
Arash Hatami
1
Tua tapi masih relevan! github.com/hugovk/pypistats/pull/105/commits/…
Hugo
Lihat juga PIP_CACHE_DIRvariabel lingkungan untuk menyetel direktori ini.
Alex Povel
123

Lokasi default untuk direktori cache bergantung pada Sistem Operasi:

Unix

~ / .cache / pip dan menghormati direktori XDG_CACHE_HOME.

macOS

~ / Library / Caches / pip

Windows

<CSIDL_LOCAL_APPDATA> \ pip \ Cache

Wheel Cache

pip akan membaca dari roda subdirektori di dalam direktori pip cache dan menggunakan paket apa pun yang ditemukan di sana. [menggunting]

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

Lokasi direktori cache dapat diubah melalui opsi baris perintah --cache-dir.

ptim
sumber
7
<CSIDL_LOCAL_APPDATA> ==% LOCALAPPDATA%
Menang dan
% LOCALAPPDATA% \ pip \ Cache
Alex78191
1
$XDG_CACHE_HOMEkosong. find ~/.cache/pip | grep -i tensorpertunjukan tensorflow_determinismdan silence_tensorflowroda, tapi tidak tensorflow-gpu. Namun pip install tensorflow-gpukata Using cached https://.../tensorflow_gpu-2.0.0-cp37-cp37m-manylinux2010_x86_64.whl. Di mana lagi saya harus mencari file ini?
bers
(Saya juga mengunduh tensorflow_gpu-2.0.0-cp37-cp37m-manylinux2010_x86_64.whldan memeriksa penggunaan duplikat fdupes, tetapi tidak dapat menemukan ...)
bers
24

Cara pythonic dan lintas platform:

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'))

Di bawah tenda, ia menormalkan jalur, mengelola lokasi yang berbeda untuk sistem dan platform operasi yang eksotis dan biasa, melakukan pencarian registri Windows.

Mungkin perlu disebutkan, jika Anda menginstal versi Python yang berbeda, 2.x'es dan 3.x'es, semuanya berbagi lokasi cache yang sama.

Rabash
sumber
5
ModuleNotFoundError: No module named 'pip.utils', pip 10.0.1 di Ubuntu.
Gringo Suave
1
Jika Anda menginginkan pipdirektori cache sendiri, Anda juga dapat menggunakan from pip._internal.locations import USER_CACHE_DIRatau python -c "from pip._internal.locations import USER_CACHE_DIR; print(USER_CACHE_DIR)"jika Anda mengambil sesuatu dalam skrip, dll.
ryanjdillon
Harap jangan masuk ke _internaldan mengambil nilai. internal pip tidak dimaksudkan untuk digunakan seperti perpustakaan dan dapat berubah. pip cache dirpada pip 20.1 ke atas adalah cara terbaik untuk mendapatkan nilai ini.
pradyunsg
8

Anda dapat mencadangkan roda terkait daripada mencoba membuat cadangan folder cache.

Unduh roda untuk cspilih versi 0.9.1 ke /tmp/wheelhouse:

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

Pasang roda yang diunduh:

pip install /tmp/wheelhouse/cssselect-0.9.1-py2-none-any.whl
fredrik
sumber
Seberapa stabil / dapat diprediksi cssselect-0.9.1-py2-none-any.whlnama file tersebut?
Blaise
Tergantung pada apa yang dilakukan pengelola di setup.py mereka saat memaketkan.
fredrik