Pip önbellek klasörü nerede


93

Python pip önbellek klasörü nerede ? Yükleme sırasında hata oluştu ve şimdi önbellek dosyalarını kullanarak paketleri yeniden yükledim

Bu dizin nerede? İleride yüklemek için yedeklemek istiyorum. Mümkün mü ?

Örneğin bende bu var:

Using cached cssselect-0.9.1.tar.gz

Bu dizini google'da aradım ama gördüğüm her şey bir klasörden nasıl kurulacağını öğrenmek, varsayılan önbellek dizinini bulmak istiyorum.

Ve başka bir soru, bu önbellek dosyaları o dizinde kalacak mı yoksa yakında kaldırılacak mı?


1
İşletim sistemine bağlıdır.
Martin Konecny

windows @MartinKonecny
Arash Hatami

3
~\AppData\Local\pip\cacheWindows'ta olduğuna inanıyorum .
fredrik

'0f4017d43a13156e41129019e85a69fcc2dd34e6904ed88395bb5451' gibi belirsiz adlara sahip birçok dosya var ... tam olarak 'cssselect-0.9.1.tar.gz' dosyasını bulabilir miyim ??? @fredrik
Arash Hatami

2
Bir önbellek, bu durumda olduğu gibi her zaman insan tarafından okunamaz.
fredrik

Yanıtlar:


33

İşletim sistemine bağlıdır.

İle pip 20.1 veya geç bunu birlikte bulabilirsiniz:

pip cache dir

Örneğin macOS ile:

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

Dokümanlar:


Evet ... Eski bir soru (yaklaşık 4 yıl: D)
Arash Hatami


PIP_CACHE_DIRBu dizini ayarlamak için ortam değişkenine de bakın .
Alex Povel

123

Önbellek dizininin varsayılan konumu İşletim Sistemine bağlıdır:

Unix

~ / .cache / pip ve XDG_CACHE_HOME dizinine saygı duyar.

Mac os işletim sistemi

~ / Kitaplık / Önbellekler / pip

pencereler

<CSIDL_LOCAL_APPDATA> \ pip \ Cache

Tekerlek Önbelleği

pip, pip önbellek dizinindeki alt dizin tekerleklerinden okuyacak ve orada bulunan paketleri kullanacaktır. [Snip]

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

Önbellek dizininin konumu komut satırı seçeneği ile değiştirilebilir --cache-dir.


7
<CSIDL_LOCAL_APPDATA> ==% LOCALAPPDATA%
Winand

% LOCALAPPDATA% \ pip \ Cache
Alex78191

1
$XDG_CACHE_HOMEboş. find ~/.cache/pip | grep -i tensorgösteriler tensorflow_determinismve silence_tensorflowtekerlekler, ama değil tensorflow-gpu. Yine de pip install tensorflow-gpudiyor Using cached https://.../tensorflow_gpu-2.0.0-cp37-cp37m-manylinux2010_x86_64.whl. Bu dosyayı başka nerede aramalıyım?
BERS

(Ben de indirilebilir tensorflow_gpu-2.0.0-cp37-cp37m-manylinux2010_x86_64.whlve kullanan kopyalama için kontrol fdupes, ancak herhangi bulamadık ...)
BERS

24

Pythonic ve çapraz platform yolu:

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

Başlık altında, yolları normalleştirir, egzotik ve sıradan işletim sistemleri ve platformlar için farklı konumları yönetir, Windows kayıt defteri araması yapar.

Söylemeye değer, eğer farklı Python sürümleriniz varsa, 2.x'es ve 3.x'es, hepsi aynı önbellek konumunu paylaşıyor.


5
ModuleNotFoundError: No module named 'pip.utils'Ubuntu üzerinde pip 10.0.1.
Gringo Suave

1
Eğer isteseydi pip'ın kendi önbellek dizini ayrıca sadece kullanabilirsiniz from pip._internal.locations import USER_CACHE_DIRveya python -c "from pip._internal.locations import USER_CACHE_DIR; print(USER_CACHE_DIR)"Senaryoya vb şeyler kapma olsaydı
ryanjdillon

Lütfen girip _internaldeğerleri getirmeyin. pip'in dahili öğeleri bir kütüphane gibi kullanılmaya yönelik değildir ve değişebilir. pip cache dirpip 20.1 ve üstü bu değeri elde etmenin en iyi yoludur.
pradyunsg

8

İlişkili tekerleği yedekleyebilirsinizÖnbellek klasörünün yedeğini almaya çalışmak yerine yedekleyebilirsiniz.

0.9.1 sürümünün csselect'i için tekerleği şuraya indirin /tmp/wheelhouse:

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

İndirilen tekerleği takın:

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

cssselect-0.9.1-py2-none-any.whlDosya adı ne kadar kararlı / tahmin edilebilir ?
Blaise

Bakımcıların paketleme sırasında setup.py'de ne yaptıklarına bağlıdır.
fredrik
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.