Comment empêchez-vous PIP de télécharger à nouveau les 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 retélécharge matplotlib. Comment puis-je arrêter cela?
Vous pouvez utiliser une variable d'environnement spécifique PIP_DOWNLOAD_CACHE et la faire pointer vers un répertoire où vos packages seront stockés. S'ils doivent être réinstallés, ils seront extraits de ce répertoire.
Il semble également y avoir une option supplémentaire pour PIP pip --download-cache
qui devrait faire quelque chose de similaire, mais je ne l'ai jamais essayé moi-même. Pour votre exemple, pour éviter de retélécharger matplotlib
à chaque fois, vous devez procéder comme suit:
pip install --download-cache /path/to/pip/cache matplotlib
Est-ce que ça répond à votre question?
Les nouvelles versions de Pip par défaut mettent désormais en cache les téléchargements. Consultez cette documentation:
https://pip.pypa.io/en/stable/reference/pip_install/#caching
Créez un fichier de configuration nommé ~/.pip/pip.conf
, et ajoutez le contenu suivant:
[global]
download_cache = ~/.cache/pip
En une seule commande:
printf '[global]\ndownload_cache = ~/.cache/pip\n' >> ~/.pip/pip.conf
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
Vous pouvez également télécharger manuellement le package
pip install -d dir_for_packages matplotlib
Installez-le ensuite avec un-tar et python setup install
plus tard.
Le pip install --download-cache
fonctionne de manière similaire avec une vérification supplémentaire: il recherche d'abord la version la plus récente ou spécifiée du package cible à partir du Web, si la recherche a abouti et s'il y a un package mis en cache dans le répertoire spécifié par download-cache
, le package mis en cache sera utilisé au lieu du téléchargement. Par exemple,
pip install --download-cache . pymongo
téléchargera le paquet pymongo dans le 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