62 votes

Comment mettre en cache les packages PIP téléchargés

Comment empêchez-vous PIP de télécharger à nouveau des packages précédemment téléchargés? Je teste l'installation de matplotlib, un package de 11 Mo qui dépend de plusieurs packages spécifiques à la distribution. Chaque fois que je lance pip install matplotlib , il télécharge à nouveau matplotlib. Comment puis-je arrêter ça?

113voto

Flimm Points 8870

Créez un fichier de configuration nommé ~/.pip/pip.conf et ajoutez le contenu suivant:

 [global]
download_cache = ~/.cache/pip
 

En une commande:

 printf '[global]\ndownload_cache = ~/.cache/pip\n' >> ~/.pip/pip.conf
 

61voto

Charles Menguy Points 13531

Vous pouvez utiliser une variable d'environnement PIP_DOWNLOAD_CACHE et le faire pointer vers un répertoire où votre colis sera stocké. Si ils sont à être installé de nouveau, elles seront prises à partir de ce répertoire.

Il semble y avoir également une option supplémentaire pour les PIP pip --download-cache qui devrait faire quelque chose de similaire, mais je n'ai jamais essayé moi-même. Pour votre exemple, pour éviter de re-télécharger matplotlib chaque fois, vous devez effectuer les opérations suivantes:

pip install --download-cache /path/to/pip/cache matplotlib

Ne fait que répondre à votre question?

8voto

okm Points 12374

Vous pourriez

# 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

Aussi, vous pouvez télécharger manuellement le package

pip install -d dir_for_packages matplotlib

L'installer puis de l'onu, de goudron et d' python setup install plus tard.

L' pip install --download-cache fonctionne d'une manière similaire w/ extra vérification: d'abord la recherche de la dernière ou de la version spécifiée du package cible de web, si la recherche a raison et il y a les paquets du cache dans le répertoire spécifié par download-cache, les paquets du cache sera utilisé au lieu de le télécharger. Par exemple,

pip install --download-cache . pymongo

télécharger pymongo paquet de répertoire courant:

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X