І для більш загартованої відповіді:
- Ви дійсно завжди повинні це робити
sudo apt-get install ...
, саме так інструмент був розроблений для роботи.
- Використовувати за
sudo [-H]
допомогою pip install
можливо і необов'язково, залежно від того, що саме ви хочете зробити (і, отже, "суперечка").
Один з девізів мови Python є «Там повинно бути одно-- і переважно тільки один --obvious спосіб зробити це.» І, як і більшість девізів, він порушений сардонічним виглядом, мабуть, при кожній можливій нагоді. (Тому я думаю, що девізи існують.) На жаль, на мою найбільш скромну думку, екосистема Python складається з безлічі суперечливих "жорстких і швидких" правил, які ніколи не будуть порушені ... крім випадків, коли "yada yada yada" (чорт, деталі тощо). Майже у всіх випадках це пов’язано з історичною еволюцією мови та інструментів (а хто хоче / потребує уроку історії, коли вони просто хочуть займатися своєю роботою) - але також може бути пов'язаний з відмінностями в Mac / Win / * Платформи Nix (наприклад, Unix / Linux має подібний менталітет,прийміть усі ці "порушені практики" та "по суті неправильні" вантажо-культисти з величезною щіпкою солі. Деякі насправді добре означають. (Інші - просто, ну, середньо.)
Перш за все, замість базових "встановлень на кожного користувача", ви майже завжди віддасте перевагу virtualenv, адже справді, це, мабуть, те, що вам в кінцевому підсумку потрібно. Тож ви можете також почати з цього зараз. Як це робиться, саме, "залежить" (див. Девіз Python, вище). Якщо ви використовуєте Conda (переважно для Mac і Windows), вона буде налаштована за допомогою Conda . Якщо ви використовуєте "чистий" Python [sic] , це залежить від того, яка версія та які утиліти python у вас є, але virtualenvwrapper досить зручно.
По-друге, ви можете віддати перевагу тому sudo -H pip install -U numpy
, що є протилежним прикладом правилу "ніколи не судо" , що є прекрасним, навіть вигідним, тому що це дозволяє уникнути завантаження / перевстановлення / обслуговування великих бібліотек, де ви хочете лише / потрібна одна версія, у кожній віртуаленті окремо. Великі, популярні рамки, такі як scikit-learn, NumPy, matplotlib, SciPy, панди тощо, можуть бути встановлені один раз і виконані та повторно використані в різних середовищах . Крім того, ваш місцевий дружній системний адміністратор може мати змогу встановити їх для кожного користувача в системі - і, очевидно, вони могли б це зробити sudo
, як, наприклад, для більш складних установок, таких як TensorFlow.
І, нарешті, якщо ви встановлюєте якусь випадкову сторонню бібліотеку, яка робить таке-таке (API API, змінення тексту, форматування коду тощо), я цілком згоден - не встановлюйте його як root через sudo. Звичайно, встановіть його як свого поточного користувача. Але пам’ятайте лише, у вашому обліковому записі користувача є всі ваші дійсно важливі речі .
sudo pip install
, по суті невірні. - від stackoverflow.com/a/33004920/95735