web-dev-qa-db-fra.com

Comment mettre à jour un paquet Python?

J'utilise Ubuntu 9:10 et un paquet appelé M2Crypto est installé (version 0.19.1). Je dois télécharger, créer et installer la dernière version du paquet M2Crypto (0.20.2). 

Le paquet 0.19.1 contient des fichiers dans plusieurs 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 0.20.2?

171
thompson

Vous voudrez peut-être examiner un gestionnaire de paquets Python tel que pip . Si vous ne souhaitez pas utiliser un gestionnaire de paquets Python, vous devriez pouvoir télécharger M2Crypto et construire/compiler/installer par-dessus l'ancienne installation.

40
Jeremy Whitlock

Le meilleur moyen que j'ai trouvé est d'exécuter cette commande depuis un terminal

Sudo pip install [package_name] --upgrade

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

359
princelySid

Pour mettre à jour automatiquement tous les paquets obsolètes (installés avec pip), lancez le script ci-dessous,

pip install $(pip list --outdated | awk '{ print $1 }') --upgrade

Ici, pip list --outdated listera tous les paquets périmés, puis nous le dirigerons vers awk, de sorte qu’il n’imprimera que les noms . Ensuite, la $(...) en fera une variable, puis tout sera fait automatiquement. Assurez-vous que vous avez les autorisations. (Il suffit de mettre Sudo avant pip si vous êtes confus) J'écrirais un script nommé pip-upgrade Le code est ci-dessous,

#!/bin/bash
Sudo pip install $(pip list --outdated | awk '{ print $1 }') --upgrade

Ensuite, utilisez les lignes de script suivantes pour le préparer:

Sudo chmod +x pip-upgrade
Sudo cp pip-upgrade /usr/bin/

Ensuite, appuyez simplement sur pip-upgrade et le tour est joué!

35
Fahim Ferdous
  1. Via la commande windows Invite, exécutez: pip list --outdatedVous obtiendrez la liste des packages obsolètes.
  2. Exécuter: pip install [package] --upgradeIl va mettre à jour le [package] et désinstaller la version précédente.

Pour mettre à jour pip:

py -m pip install --upgrade pip

Encore une fois, cela désinstallera la version précédente de pip et installera la dernière version de pip.

27
  • Méthode 1: Mettre à niveau manuellement un par un

pip install package_name -U
  • Méthode 2: Mettre à niveau tout à la fois (annulation à fort risque si la mise à niveau de certains packages échoue)

pip install $(pip list --outdated --format=columns |tail -n +3|cut -d" " -f1) --upgrade
  • Méthode 3: Mettre à niveau un par un à l'aide d'une boucle

for i in  $(pip list --outdated --format=columns |tail -n +3|cut -d" " -f1); do pip install $i --upgrade; done
22
Donghua Luo

Je pense que le meilleur one-line est:

pip install --upgrade <package>==<version>
7
Stuart Mclean

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 quasiment sûr que le seul moyen est de simplement supprimer les fichiers sous lib, shared, etc.

Ma recommandation dans le futur? Utilisez quelque chose comme pip pour installer vos paquets. En outre, vous pouvez rechercher un élément appelé virtualenv afin que vos packages soient stockés environnement par environnement plutôt que uniquement à la racine.

Avec pip, c'est assez simple:

pip install m2crypto

Mais vous pouvez également installer à partir de git, svn, etc repos avec la bonne adresse. Tout cela est expliqué dans la documentation de pip

4
Bartek

Dans le cahier Jupyter, un moyen très simple consiste à

!pip install <package_name> --upgrade

Donc, il vous suffit de remplacer par le nom du paquet actuel.

2
Joe Zeng

Obtenez tous les packages obsolètes et créez un fichier de commandes avec les commandes Suivantes Pip install xxx --upgrade pour chaque package obsolète

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

Utilisez pipupgrade !

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

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

 enter image description here

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