Und für eine mildere Antwort:
- Sie müssen es in der Tat immer tun
sudo apt-get install ...
, genau so wurde das Tool entwickelt, um zu funktionieren.
- Die Verwendung von
sudo [-H]
with pip install
ist sowohl möglich als auch optional, je nachdem, was genau Sie tun möchten (und daher "Kontroverse").
Eines der Mottos von Python lautet: "Es sollte einen - und am besten nur einen - offensichtlichen Weg geben, dies zu tun." Und wie die meisten Mottos ist es scheinbar bei jeder Gelegenheit mit sardonischer Freude gebrochen. (Deshalb gibt es Mottos, denke ich.) Leider besteht das Python-Ökosystem meiner bescheidenen Meinung nach aus vielen widersprüchlichen "harten und schnellen" Regeln, die niemals gebrochen werden dürfen ... außer wenn "yada yada yada" (Teufel, Einzelheiten usw). In fast allen Fällen liegt dies an der historischen Entwicklung der Sprache und der Tools (und wer möchte / braucht eine Geschichtsstunde, wenn er nur mit seiner Arbeit weitermachen möchte) - kann aber auch an Unterschieden in Mac / Win / * Nix-Plattformen (zB Unix / Linux hat eine ähnliche Mentalität,Nehmen Sie all diese "gebrochenen Praktiken" und "von Natur aus falschen" Frachtkultisten mit einer riesigen Prise Salz. Einige meinen es tatsächlich gut. (Andere sind nur gut gemein.)
Zuallererst bevorzugen Sie fast immer eine virtuelle Umgebung, anstatt einfache "Einzelplatzinstallationen" durchzuführen, denn in Wirklichkeit ist dies wahrscheinlich das, was Sie am Ende brauchen werden. Fangen Sie also gleich damit an. Wie das genau gemacht wird, hängt davon ab (siehe Python-Motto oben). Wenn Sie Conda verwenden (hauptsächlich für Mac und Windows), wird es mit Conda eingerichtet . Bei der Verwendung von „reinem“ Python [sic] , es hängt davon ab , welche Version und welcher Python utils Sie haben, aber virtualenvwrapper ist ziemlich praktisch.
Zweitens, nur als Gegenbeispiel zur "never sudo" -Regel, können Sie es vorziehen sudo -H pip install -U numpy
, was vollkommen in Ordnung und sogar vorteilhaft ist, da es einem erlaubt, das Herunterladen / Neuinstallieren / Verwalten großer Bibliotheken zu vermeiden, wo Sie nur wollen / brauche eine version, in jeder virtualenv separat. Große, beliebte Frameworks wie Scikit-Learn, NumPy, Matplotlib, SciPy, Pandas usw. können einmalig installiert und in verschiedenen Umgebungen wiederverwendet werden . Ihr lokaler freundlicher Systemadministrator kann diese möglicherweise für jeden Benutzer auf einem System installieren. Dies geschieht natürlich auch über sudo
, z. B. für kompliziertere Installationen wie TensorFlow.
Und wenn Sie eine zufällige Bibliothek von Drittanbietern installieren, die dies und das tut (Twitter-API, Text-Munging, Code-Formatierung usw.), dann bin ich vollkommen einverstanden - installieren Sie sie nicht als root über sudo. Sicher, installieren Sie es als Ihr aktueller Benutzer. Denken Sie jedoch daran, dass Ihr Benutzerkonto alle wichtigen Informationen enthält .
sudo pip install
sind von Natur aus falsch. - von stackoverflow.com/a/33004920/95735