Et pour une réponse plus tempérée:
- Vous devez en effet toujours le faire
sudo apt-get install ...
, c’est exactement comme cela que l’outil a été conçu.
- Utiliser
sudo [-H]
avec pip install
est à la fois possible et facultatif, en fonction de ce que vous voulez faire exactement (et donc de "controverse").
Une des devises de Python est "Il devrait y avoir un - et de préférence un seul moyen - évident de le faire." Et comme la plupart des slogans, elle semble rompre avec une joie sardonique à chaque occasion. (C’est pourquoi les devises existent, je suppose.) Malheureusement, à mon humble avis, l’écosystème Python est constitué de nombreuses règles contradictoires "hard & fast", qui ne doivent jamais être enfreintes ... sauf pour "yada yada yada" (diable, détails, etc.). Dans presque tous les cas, cela est dû à l'évolution historique de la langue et des outils (et aux personnes qui veulent / ont besoin d'une leçon d'histoire lorsqu'elles veulent juste continuer leur travail) - mais cela peut aussi être dû aux différences entre Mac / Win / * Les plates-formes Nix (par exemple, Unix / Linux a une mentalité similaire,prenez toutes ces "pratiques brisées" et "fondamentalement fausses" pour les spécialistes de la cargaison avec une énorme pincée de sel. Certains veulent vraiment bien dire. (Les autres ne sont que méchants.)
Tout d'abord, plutôt que des "installations par utilisateur" de base, vous préférerez presque toujours une virtualenv, car en réalité, c'est probablement ce dont vous aurez besoin. Donc, vous pourriez aussi bien commencer par cela maintenant. Comment cela est fait, exactement "dépend" (voir la devise Python, ci-dessus). Si vous utilisez Conda (principalement pour Mac et Windows), il sera configuré à l' aide de Conda . Si vous utilisez "pur" Python [sic] , cela dépend de la version et des utilitaires python que vous avez, mais virtualenvwrapper est très pratique.
Deuxièmement, juste comme un exemple de la règle "Never Sudo", vous préférerez peut-être sudo -H pip install -U numpy
, ce qui est parfaitement correct, voire avantageux, en ce sens que cela peut permettre d’éviter le téléchargement / la réinstallation / la maintenance de grandes bibliothèques, où vous ne voulez / besoin d'une version, dans chaque virtualenv séparément. De grands frameworks populaires tels que scikit-learn, NumPy, matplotlib, SciPy, pandas, etc., peuvent être installés une fois pour toutes et réutilisés dans plusieurs environnements . De plus, votre administrateur système local sympathique pourrait peut-être les installer pour tous les utilisateurs d’un système - et ils le feraient bien évidemment sudo
aussi, par exemple pour des installations plus complexes, telles que TensorFlow.
Enfin, si vous installez une bibliothèque aléatoire tierce qui fait telle ou telle chose (API Twitter, conversion de texte, formatage de code, etc.), je suis tout à fait d’accord - ne l’installez pas en tant que root via Sudo. Bien sûr, installez-le en tant qu'utilisateur actuel. Mais rappelez-vous que votre compte utilisateur contient toutes vos informations essentielles .
sudo pip install
sont fondamentalement fausses. - de stackoverflow.com/a/33004920/95735