Comment mettre à jour un paquet Python?
Je cours Ubuntu 9: 10 et un paquet appelé M2Crypto est installé (version 0.19.1). J'ai besoin de télécharger, de construire et d'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, y compris (/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?
9 réponses
Vous pouvez regarder dans un gestionnaire de paquets Python comme pip . Si vous ne voulez pas utiliser un gestionnaire de paquets Python, vous devriez pouvoir télécharger M2Crypto et construire / compiler / installer sur l'ancienne installation.
La meilleure façon que j'ai trouvée est d'exécuter cette commande à partir du terminal
sudo pip install [package_name] --upgrade
sudo
demandera d'entrer votre mot de passe root pour confirmer l'action.
Pour mettre à jour automatiquement tous les paquets obsolètes (qui ont été installés à l'aide de pip), exécutez simplement le script ci-dessous,
pip install $(pip list --outdated | awk '{ print $1 }') --upgrade
Ici, {[3] } listera tous les paquets obsolètes et ensuite nous le dirigerons vers awk, de sorte qu'il n'imprimera que les noms.
Ensuite, le $(...)
en fera une variable et ensuite, tout se fera 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
Puis 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é!
- Via l'invite de commande windows, exécutez:
pip list --outdated
Vous obtiendrez la liste des paquets obsolètes. - Exécuter:
pip install [package] --upgrade
Il mettra à jour le[package]
et désinstallera la version précédente.
Pour mettre à jour pip:
Py -m pip install --mise à niveau de pep
Encore une fois, cela désinstallera la version précédente de pip et installera la dernière version de pip.
- Méthode 1: Mise à niveau manuellement un par un
pip install package_name -U
- Méthode 2: Mise à niveau tout à la fois (risque élevé de restauration si un paquet ne parvient pas à mettre à niveau
pip install $(pip list --outdated --format=columns |tail -n +3|cut -d" " -f1) --upgrade
- Méthode 3: Mise À Niveau une par une en utilisant loop
for i in $(pip list --outdated --format=columns |tail -n +3|cut -d" " -f1); do pip install $i --upgrade; done
Je pense que le meilleur One-liner est:
pip install --upgrade <package>==<version>
Comment le paquet a-t-il été installé à l'origine? Si c'était via apt, vous pourriez simplement être capable de faire apt-get remove python-m2crypto
Si vous l'avez installé via easy_install, je suis sûr que le seul moyen est de simplement vider les fichiers sous lib, shared,etc..
Ma recommandation à l'avenir? Utilisez quelque chose comme pip pour installer vos paquets. De plus, vous pouvez rechercher quelque chose appelé virtualenv afin que vos paquets soient stockés par environnement, plutôt que uniquement sur racine.
Avec pip, c'est assez facile:
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 pip
Récupère tous les paquets obsolètes et crée un fichier batch avec les éléments suivants commande pip install xxx --upgrade pour chaque paquet obsolète
pip install -U $(pip list --outdated | awk 'NR>2 {print $1}')