505 votes

Comment mettre à jour / mettre à jour un paquet en utilisant pip?

Quel est le moyen de mettre à jour un paquet en utilisant pip? ceux qui ne fonctionnent pas:

 pip update
pip upgrade
 

Je sais que c’est une question simple, mais elle est nécessaire car elle n’est pas si facile à trouver (la documentation pip ne s’affiche pas et les autres questions relatives au débordement de pile sont pertinentes mais ne traitent pas exactement de cela).

819voto

borgr Points 1080

Le chemin est

 sudo pip install [package_name] --upgrade
 

ou en bref

 sudo pip install [package_name] -U
 

sudo demandera d'entrer votre mot de passe root pour confirmer l'action.

Si vous n'avez pas de mot de passe root (si vous n'êtes pas l'administrateur), vous devriez probablement travailler avec virtualenv , puis vous devez supprimer les sudo :

 pip install [package_name] --upgrade
 

71voto

as - if Points 206

Pour un package non spécifique et une solution plus générale, vous pouvez consulter [pip-review][1] . C’est un outil général qui vérifie quels paquets pourraient \ devraient être mis à jour.

 $ pip-review --interactive
requests==0.14.0 is available (you have 0.13.2)
Upgrade now? [Y]es, [N]o, [A]ll, [Q]uit y
 

13voto

Aiden Woodruff Points 111

tl;dr script pour mettre à jour tous les paquets installés

Si vous voulez mettre à jour un package, reportez-vous à @borgr de réponse. Je trouve souvent qu'il est nécessaire, ou au moins agréable, de mettre à jour tous mes paquets à la fois. Actuellement, pip n'est pas nativement en charge de cette action, mais avec sh script est assez simple. Vous utilisez pip list, awk (ou cut et tail), et la substitution de commande. Mon one-liner est:

for i in $(pip list -o | awk 'NR > 2 {print $1}'); do sudo pip install -U $i; done

Cela va demander le mot de passe root. Si vous n'avez pas accès à cela, l' --user option de pip ou virtualenv peut-être quelque chose à regarder dans.

11voto

Fourier Points 60
 import subprocess as sbp
import pip
pkgs = eval(str(sbp.run("pip3 list -o --format=json", shell=True,
                         stdout=sbp.PIPE).stdout, encoding='utf-8'))
for pkg in pkgs:
    sbp.run("pip3 install --upgrade " + pkg['name'], shell=True)
 

Enregistrer sous xx.py
Puis lancez Python3 xx.py
Environnement: python3.5 + pip10.0 +

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