J'ai besoin d'installer spécifiquement psycopg2 v2.4.1. J'ai accidentellement fait:
pip install psycopg2
Au lieu de:
pip install psycopg2==2.4.1
Cela installe 2.4.4 au lieu de la version précédente.
Maintenant, même après avoir désinstallé psycopg2 et tenté de réinstaller avec la bonne version, il semble que pip réutilise le cache qu'il a téléchargé la première fois.
Comment puis-je forcer pip à vider son cache de téléchargement et utiliser la version spécifique que j'inclus dans la commande?
Réponses:
Si vous utilisez pip 6.0 ou plus récent, essayez d'ajouter l'
--no-cache-dir
option .Si vous utilisez pip antérieur à pip 6.0, mettez-le à niveau avec
pip install -U pip
.la source
$TMPDIR
python -m pip install -U pip
sur Windows. (Il ne peut pas être mis à niveau en raison du verrouillage dupip.exe
fichier sinon.)Effacez le répertoire de cache le cas échéant pour votre système
Linux et Unix
OS X
les fenêtres
la source
pip cache purge
.De la documentation à https://pip.pypa.io/en/latest/reference/pip_install.html#caching :
la source
pip peut installer un paquet en ignorant le cache, comme ceci
la source
Sur Ubuntu, j'ai dû supprimer
/tmp/pip-build-root
.la source
/tmp/pip_build_root/
(notez les soulignés)(mainteneur de pip ici!)
Depuis pip 6.0 (retour en 2014!),
pip install
,pip download
Et lespip wheel
commandes peuvent être dit d'éviter d' utiliser le cache avec l'--no-cache-dir
option. (par exemplepip install --no-cache-dir <package>
)Depuis pip 10.0 (en 2018!), Une
pip config
commande a été ajoutée, qui peut être utilisée pour configurer pip pour toujours ignorer le cache -pip config set global.cache-dir false
configure pip pour ne pas utiliser le cache "globalement" (c'est-à-dire dans toutes les commandes).Depuis pip 20.1, pip a une
pip cache
commande pour gérer le contenu du cache de pip.pip cache purge
supprime tous les fichiers de roue dans le cache.pip cache remove matplotlib
supprime sélectivement les fichiers liés à un matplotlib du cache.En résumé, pip fournit de nombreuses façons de modifier la façon dont il utilise le cache:
pip install --no-cache-dir <package>
: installez un package sans utiliser le cache, pour cette seule exécution.pip config set global.cache-dir false
: configure pip pour ne pas utiliser le cache "globalement" (dans toutes les commandes)pip cache remove matplotlib
: supprime tous les fichiers de roue liés à matplotlib du cache de pip.pip cache purge
: pour effacer tous les fichiers du cache de pip.Le problème spécifique de «l'installation de la mauvaise version en raison de la mise en cache» mentionné dans la question a été corrigé dans pip 1.4 (en 2013!):
la source
ERROR: No matching packages
mais j'ai déjà installé beaucoup de packages différentsSi vous souhaitez définir l'
--no-cache-dir
option par défaut, vous pouvez la mettre danspip.conf
:L'emplacement de
pip.conf
dépend de votre système d'exploitation. Voir la documentation pour plus d'informations.la source
J'ai juste eu un problème similaire et j'ai constaté que la seule façon d'obtenir pip pour mettre à niveau le package était de supprimer le répertoire
$PWD/build
(%CD%\build
sous Windows) qui aurait pu être laissé d'une installation inachevée ou d'une version précédente de pip (il supprime maintenant le créer des répertoires après une installation réussie).la source
Sur le cache de pip archlinux est situé à ~ / .cache / pip, je pourrais résoudre mon problème en supprimant le dossier http à l'intérieur.
la source
Sur mon mac, j'ai dû supprimer le répertoire cache
~/Library/Caches/pip/
la source
Depuis pip 20.1b1 , qui a été publié le 21 avril 2020 et "
pip cache
commande ajoutée pour inspecter / gérer le cache de roue de pip", il est possible d'émettre cette commande:Le guide de référence est ici:
https://pip.pypa.io/en/stable/reference/pip_cache/
La demande de pull correspondante est ici .
la source
Sur Windows 7, je devais supprimer
%HOMEPATH%/pip
.la source
Si vous utilisez virtualenv, recherchez le
build
répertoire sous la racine de votre environnement.la source
J'ai dû supprimer% TEMP% \ pip-build sous Windows 7
la source
Sur Mac OS (Mavericks), je devais supprimer
/tmp/pip-build/
la source
Une meilleure façon de le faire est de supprimer le cache et de le reconstruire. De cette façon, si vous l'installez à nouveau pour d'autres virtualenv, il utilisera le cache au lieu de construire à chaque fois que vous l'installerez.
Par exemple, lorsque vous l'installez, il indique qu'il utilise une roue en cache,
Supprimez-le et redémarrez votre installation.
la source
Je suis sûr que ce n'est pas ce qui se passe. Pip utilisé pour (à tort) réutiliser le répertoire de construction et non le cache. Cela a été corrigé dans la version 1.4 de pip qui a été publiée le 2013-07-23.
la source