576 votes

Pip utilise une version de package mise en cache incorrecte, au lieu de la version spécifiée par l'utilisateur

Je dois installer psycopg2 v2.4.1 spécifiquement. J'ai accidentellement fait :

pip install psycopg2

Au lieu de :

pip install psycopg2==2.4.1

Cela installe la version 2.4.4 au lieu de la version antérieure.

Même après avoir désinstallé psycopg2 avec pip et avoir tenté de le 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 obliger pip à vider son cache de téléchargement et à utiliser la version spécifique que j'inclus dans la commande ?

18 votes

La réponse la plus récente et mise à jour (postée par un mainteneur de pip) se trouve sur stackoverflow.com/a/61762308/1931274.

623voto

sholsapp Points 2915

Si vous utilisez pip 6.0 ou plus récent, essayez d'ajouter l'option --no-cache-dir (source).

Si vous utilisez une version de pip antérieure à pip 6.0, mettez à jour avec pip install -U pip.

8 votes

J'ai regardé dans ~/.pip mais c'est un répertoire vide. Votre conseil sur --ignore-installed a fait l'affaire!

8 votes

Sur OSX, j'ai dû supprimer les répertoires liés à pip dans $TMPDIR

3 votes

Si vous utilisez virtualenv, vous pourriez devoir supprimer le dossier envs/{yourenvsname}/build/{packageinquestion}...

32voto

Jace Browning Points 1609

Sous Ubuntu, j'ai dû supprimer /tmp/pip-build-root.

2 votes

En fait /tmp/pip-build-%username_that_running_pip%

2 votes

Sur Ubuntu 14, c'était /tmp/pip_build_root/ (notez les tirets bas)

9voto

dhobbs Points 246

J'ai eu un problème similaire et j'ai découvert que la seule façon de faire en sorte que pip mette à jour le package était de supprimer le répertoire $PWD/build (%CD%\build sur Windows) qui aurait pu être laissé suite à une installation précédente inachevée ou à une version précédente de pip (il supprime maintenant les répertoires de build après une installation réussie).

4voto

Jace Browning Points 1609

Sous Windows 7, j'ai dû supprimer %HOMEPATH%/pip.

3voto

Mikhail M Points 16

J'ai dû supprimer %TEMP%\pip-build sur Windows 7

1 votes

Merci +1. J'utilise également Windows 7 et j'ai trouvé le dossier sous mon dossier %TEMP%\pip. Le %TEMP% est défini dans vos variables d'environnement si quelqu'un n'est pas sûr.

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