Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

upgrade de package

1 réponse
Avatar
Lulu
Bonjour,

J'utilise le package bpytop et comme celui-ci m'informe que la version
1.0.65 peut être mise Í  jour en 1.0.67, je lance la mise Í  jour en tant
que root :

# pip3 install bpytop --upgrade
Collecting bpytop
Downloading bpytop-1.0.67-py3-none-any.whl (82 kB)
|████████████████████████████████| 82 kB 161 kB/s
Requirement already satisfied, skipping upgrade: psutil<6.0.0,>=5.7.0 in /usr/local/lib/python3.8/dist-packages (from bpytop) (5.8.0)
Installing collected packages: bpytop
Attempting uninstall: bpytop
Found existing installation: bpytop 1.0.65
Uninstalling bpytop-1.0.65:
Successfully uninstalled bpytop-1.0.65
Successfully installed bpytop-1.0.67

Mais surprise !!
Lors que je retourne sous mon compte de user normal, l'avertissement que
j'utilise la version 1.0.65 persiste en m'avertissant encore que la
version 1.0.67 est disponible.
Donc je relance la mise Í  jour en tant que user normal :

$ pip3 install bpytop --upgrade
Collecting bpytop
Downloading bpytop-1.0.67-py3-none-any.whl (82 kB)
|████████████████████████████████| 82 kB 193 kB/s
Requirement already satisfied, skipping upgrade: psutil<6.0.0,>=5.7.0 in /usr/local/lib/python3.8/dist-packages (from bpytop) (5.8.0)
Installing collected packages: bpytop
Attempting uninstall: bpytop
Found existing installation: bpytop 1.0.65
Uninstalling bpytop-1.0.65:
Successfully uninstalled bpytop-1.0.65
Successfully installed bpytop-1.0.67

Quel est le problème que je ne comprends pas ?
Aurais-je deux installations de ce package bpytop ?

Merci de vos avis.

1 réponse

Avatar
Julien Palard
Bonjour,
Le 7/14/21 Í  9:00 AM, Lulu a écrit :
je lance la mise Í  jour en tant que root

Mon avis est de ne **jamais** utiliser `sudo pip install` : laisse Í 
chaque gestionnaire de paquets son espace de travail :
- En root le gestionnaire de paquet de ta distrib, et jamais rien
d'autre qui pourrait le déranger (ou le casser).
- En user, pour installer une lib Python localement : `python3 -m pip`.
Les gestionnaires de paquets ne sont pas fait pour coopérer, ils ne
coopèrent pas du tout : ils se mettent des bÍ¢tons dans les roues. On
peut imaginer que tu pourrais casser le gestionnaire de paquets de ta
distrib en installant un paquet incompatible via un autre gestionnaire
de paquet : bon courage pour réparer ça.
Tant que chaque gestionnaire de paquets a son espace de travail bien
défini, tout se passe bien, ils ne se marchent pas dessus, l'un ne peut
pas casser l'autre.
Aurais-je deux installations de ce package bpytop ?

Donc oui lÍ  tu as bien bpytop installé deux fois : une fois probablement
dans /usr/local/lib/python* et une fois dans ~/.local/lib/python, un
petit `ls` lÍ  dedans et tu les trouveras.
Une alternative Í  tout installer dans ~/.local/ c'est les venv [1],
c'est dans la bibliothèque standard, ça te permet d'indiquer Í  pip o͹
installer ses paquets, et ͠ Python o͹ les chercher, ainsi chaque projet
pourrait avoir son dossier d'installation.
Les venv c'est agréable pour deux/trois choses :
- Si jamais tu arrivais a casser quelque chose (comme casser ton pip,
pun intended), vu que c'est simplement un dossier : rm -fr du dossier,
et tu recommence au propre.
- Si tu veux tout désinstaller : rm -fr du dossier et c'est parfaitement
propre, pip n'installe vraiment rien en dehors du dossier du venv.
- Si deux de tes projets ont besoin de deux versions différentes d'une
même dépendance, c'est possible : tu en installe une dans un dossier et
l'autre dans un autre.
[1]: https://docs.python.org/3/library/venv.html
Bonne journée,
--
[Julien Palard](https://mdk.fr)