344 votes

Comment mettre à jour un paquetage Python ?

Je suis sous Ubuntu 9:10 et un paquet appelé M2Crypto est installé (la version est 0.19.1). Je dois télécharger, construire et installer la dernière version du paquet M2Crypto (0.20.2).

Le paquet 0.19.1 contient des fichiers dans un certain nombre d'emplacements, notamment (/usr/share/pyshared et /usr/lib/pymodules.python2.6).

Comment puis-je désinstaller complètement la version 0.19.1 de mon système avant d'installer la 0.20.2 ?

14voto

Stuart Mclean Points 101

Je pense que la meilleure phrase est :

pip install --upgrade <package>==<version>

11voto

Utilisez pipupgrade !

$ pip install pipupgrade
$ pipupgrade --latest --interactive

pipupgrade vous aide à mettre à niveau votre système, local ou les paquets d'un requirements.txt fichier ! Il met également à niveau de manière sélective les paquets qui ne cassent pas les changements. Compatible avec Python2.7+, Python3.4+ et pip9+, pip10+, pip18+.

enter image description here

NOTE : Je suis l'auteur de l'outil.

2 votes

Chaque fois que j'utilise cet outil, je reçois la réponse "[0;93mChecking...[0m" et il ne fait rien. Est-ce que je ne l'utilise pas correctement ?

0 votes

J'utilise un Mac avec MacPorts. Avec Python 3.7 pipupgrade ne fonctionne que pour 5 des 50 paquets, pour le reste j'ai dû utiliser ceci : for i in pip3.7 list --outdated | sed -n -e '3,$s/ .*//p' ; do pip3.7 install --upgrade $i ; done

10voto

Ouvrez une invite de commande ou un terminal et utilisez la syntaxe suivante

pip install --upgrade [package]==[specific version or latest version]

Par exemple

pip install --upgrade numpy==1.19.1

4voto

Bartek Points 7491

Comment le paquet a-t-il été installé à l'origine ? Si c'était via apt, vous pourriez juste être capable de faire apt-get remove python-m2crypto

Si vous l'avez installé via easy_install, je suis presque sûr que le seul moyen est de mettre à la poubelle les fichiers sous lib, shared, etc.

Ma recommandation pour l'avenir ? Utilisez quelque chose comme pip pour installer vos paquets. De plus, vous pouvez chercher dans quelque chose appelé virtualenv afin que vos paquets soient stockés sur une base par environnement, plutôt que sur Root uniquement.

Avec pip, c'est assez facile :

pip install m2crypto

Mais vous pouvez aussi installer à partir de dépôts git, svn, etc. avec la bonne adresse. Tout ceci est expliqué dans le documentation pip

0 votes

La façon dont il décrit l'endroit où les fichiers sont installés indique que le paquet a été installé en utilisant le gestionnaire de paquets apt - parce que (sur Debian AFAIK) apt installerait les paquets python sous les 2 emplacements qu'il a listés - /share/pyshared/ est pour le code partagé entre les versions et /usr/lib/ pour les parties spécifiques à la version. easy-install/pip d'autre part utiliserait /usr/local/lib/ - donc comme vous l'avez dit - juste apt-get remove l'aurait fait.

4voto

Vidyadhar Points 31
pip install -U $(pip list --outdated | awk 'NR>2 {print $1}')

4 votes

Vous devriez améliorer votre réponse en ajoutant une explication. En particulier, il faut clarifier comment cela diffère des réponses déjà données.

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