Considérons que nous avons installé les packages python-pip
et python-pip3
pour obtenir pip
et pip3
sur notre système.
Pour autant que je puisse comprendre pip
s sont des gestionnaires de paquets pour pypi.org . Je suppose qu'ils ont des fonctionnalités similaires à apt update
, apt upgrade
et apt dist-upgrade
.
Comment mettre à niveau correctement tous les modules python vers les dernières versions stables avec pip
ou pip3
?
Cela pourrait fonctionner pour les anciennes versions de pip:
pip freeze --local | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip install -U
J'ai testé cela avec succès sur pip2 et pip3 bien que je ne sois pas sûr qu'il existe un meilleur moyen de le faire.
pip freeze | sed 's/==.*//' | xargs pip install -U
Vous voudrez peut-être ajouter --user
après pip freeze
et pip install
si vous souhaitez uniquement mettre à niveau les packages installés sur votre compte utilisateur à la place du système. Si vous mettez à niveau des packages système Python, vous devez exécuter le pip install
avec Sudo
, sinon vous obtiendrez probablement une erreur d'autorisation refusée.
Avec pip, il n’existe pas de concept de "nouvelle stabilité" comme dans Debian/Ubuntu.
Les derniers paquets stables dans Debian/Ubuntu ont été testés pour fonctionner correctement avec tous les autres paquets de la distribution.
Avec pip, vous pouvez mettre à niveau tous les modules python, mais vous devrez mettre à niveau tous les modules vers la dernière version disponible dans le référentiel. Il vous incombera de vérifier que tout continue à fonctionner. Il peut y avoir des problèmes dus à de nouveaux bogues ou à des modifications incompatibles.
Pour cette raison, ne mettez jamais à niveau le système d’exploitation fourni avec python modules avec pip (option: --system), sauf si vous êtes prêt à réparer le bris éventuel.
Il peut être judicieux de mettre à niveau tous les modules installés dans votre environnement utilisateur, ou mieux dans un environnement virtuel. La commande devrait être:
pip freeze | awk '{print $1}' | xargs pip install -U
Pour les utilisateurs de différentes distributions et d'autres cas, vérifiez:
pip help install
puisque le comportement par défaut (pas d’option --user ou --system) change de dérivé de Debian au python standard.