662 votes

Puis-je forcer pip à réinstaller la version actuelle ?

J'ai rencontré des situations où la version actuelle d'un paquet semble ne pas fonctionner et nécessite une réinstallation. Mais pip install -U ne touchera pas à un paquet qui est déjà à jour. Je vois comment forcer une réinstallation en désinstallant d'abord (avec la commande pip uninstall ) puis de l'installer, mais existe-t-il un moyen de forcer une "mise à jour" vers une version nominalement actuelle en une seule étape ?

2 votes

Pour ceux qui cherchent à réinstaller pip lui-même (s'il a cessé de fonctionner pour une raison quelconque ;) ), la réponse se trouve à l'adresse suivante ce SO q&a

984voto

Karan Goel Points 1171
pip install --upgrade --force-reinstall <package>

Lors de la mise à niveau, réinstallez tous les paquets, même s'ils sont déjà à jour.

pip install -I <package>
pip install --ignore-installed <package>

Ignorer les paquets installés (réinstallation à la place).

2 votes

Y a-t-il un moyen de forcer l'écrasement lorsque l'on utilise le drapeau --target= ? Aucune de ces méthodes ne fonctionne pour moi. J'obtiens l'erreur "le chemin de destination existe déjà".

0 votes

@KeeganQuinn pensez-vous que c'est ce que Karan voulait dire par "Quand la mise à niveau"... ? Je suppose que oui. Mais votre clarification m'aide certainement.

0 votes

Que se passe-t-il si je veux apporter une modification à zipline qui est installé dans le processus de pip install pipeline-live et simplement récupérer ma monnaie en zipline ?

239voto

Vous pourriez vouloir disposer de ces trois options : --upgrade y --force-reinstall assure la réinstallation, tandis que --no-deps évite de réinstaller les dépendances.

$ sudo pip install --upgrade --no-deps --force-reinstall <packagename>

Sinon, vous pourriez rencontrer le problème que pip commence à recompiler Numpy ou d'autres gros paquets.

6 votes

C'est une meilleure solution pour les paquets avec un grand nombre de dépendances qui n'ont pas besoin d'être réinstallés.

1 votes

sudo était crucial dans mon cas.

1 votes

Pourquoi nous avons besoin --upgrade lorsque nous utilisons --force-reinstall ?

41voto

Davy Points 660

Si vous souhaitez réinstaller les paquets spécifiés dans un fichier requirements.txt, sans effectuer de mise à niveau, il suffit de réinstaller les versions spécifiques spécifiées dans le fichier requirements.txt :

pip install -r requirements.txt --ignore-installed

0 votes

Et si vous voulez éviter d'utiliser le cache local, ajoutez l'option --no-cache-dir

37voto

anemes Points 101
--force-reinstall

ne semble pas pouvoir forcer la réinstallation en utilisant python2.7 avec pip-1.5

J'ai dû utiliser

--no-deps --ignore-installed

24 votes

Vous devez spécifier --upgrade en plus de --force-reinstall ou cela n'aura aucun effet.

14voto

Jorge Cribb Points 106

Dans le cas où vous avez besoin de forcer la réinstallation de pip que vous pouvez faire :

python -m pip install --upgrade --force-reinstall pip

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