J'utilise Ubuntu 9:10 et un package appelé M2Crypto est installé (la version est 0.19.1). Je dois télécharger, créer et installer la dernière version du package M2Crypto (0.20.2).
Le package 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 0.20.2?
La meilleure façon que j'ai trouvée est d'exécuter cette commande à partir du terminal
sudo
vous demandera d'entrer votre mot de passe root pour confirmer l'action.Remarque: certains utilisateurs peuvent avoir installé pip3 à la place. Dans ce cas, utilisez
la source
pip update
et j'étaispip upgrade
désespérée jusqu'à ce que je voie--upgrade
ici. Pourquoi n'ajoutent-ils pas unepip upgrade
commande?sudo
n'est pas requis.Pour mettre à niveau automatiquement tous les packages obsolètes (qui ont été installés à l'aide de pip), exécutez simplement le script ci-dessous,
Ici,
pip list --outdated
listera tous les paquets obsolètes, puis nous les dirigerons vers awk, il n'imprimera que les noms. Ensuite, le$(...)
fera une variable et puis, tout se fait automatiquement. Assurez-vous que vous disposez des autorisations. (Mettez justesudo
avant pip si vous êtes confus) J'écrirais un script nommé,pip-upgrade
Le code est ci-dessous,Utilisez ensuite les lignes de script suivantes pour le préparer:
Ensuite, il suffit de frapper
pip-upgrade
et le tour est joué!la source
awk: cmd. line:1: { print $1 })
pip
vous obligent à utiliser l'--format=legacy
option, c'est-à-direpip list --outdated --format=legacy
. FYI également tout le monde: la mise à jour aveugle de tous les modules via pip peut être assez dangereuse sur de nombreuses distributions Linux. Beaucoup d'entre eux fournissent des modules python spécifiques via des packages de distribution et certaines de ces distributions (RHEL en particulier) peuvent se briser si vous mettez à jour merde ... sans parler du fait que si vous mettez à jour via pip, les packages de distribution peuvent annuler vos modifications sur une future mise à jour.pip install $(pip list --outdated | tail +3 | grep -v sdist | awk '{ print $1 }') --upgrade
pip list --outdated
vous obtiendrez la liste des packages obsolètes.pip install [package] --upgrade
il mettra à niveau[package]
et désinstallera la version précédente.Pour mettre à jour pip:
Encore une fois, cela désinstallera la version précédente de pip et installera la dernière version de pip.
la source
la source
Je pense que le meilleur one-liner est:
la source
Utilisez pipupgrade !
pipupgrade vous aide à mettre à niveau votre système, local ou packages à partir d'un
requirements.txt
fichier! Il met également à niveau de manière sélective des packages qui ne cassent pas le changement. Compatible avec Python2.7 +, Python3.4 + et pip9 +, pip10 +, pip18 +.REMARQUE: je suis l'auteur de l'outil.
la source
pip3.7 list --outdated | sed -n -e '3,$s/ .*//p'
; faire pip3.7 installer --upgrade $ i; faitComment le package a-t-il été installé à l'origine? Si c'était via apt, vous pourriez simplement faire
apt-get remove python-m2crypto
Si vous l'avez installé via easy_install, je suis sûr que la seule façon est de simplement jeter les fichiers sous lib, shared, etc.
Ma recommandation à l'avenir? Utilisez quelque chose comme pip pour installer vos packages. De plus, vous pouvez rechercher quelque chose appelé virtualenv afin que vos packages soient stockés par environnement, plutôt que uniquement sur root.
Avec pip, c'est assez simple:
Mais vous pouvez également installer à partir de git, svn, etc repos avec la bonne adresse. Tout cela est expliqué dans la documentation de pip
la source
la source
Dans le cahier Juptyer, un moyen très simple est
Il vous suffit donc de le remplacer par le nom réel du package.
la source
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
la source