Dan untuk jawaban yang lebih mudah:
- Anda memang harus selalu melakukannya
sudo apt-get install ...
, begitulah cara alat itu dirancang untuk bekerja.
- Penggunaan
sudo [-H]
dengan pip install
adalah mungkin & opsional, tergantung pada apa yang ingin Anda lakukan (dan karenanya, "kontroversi").
Salah satu motto Python adalah "Seharusnya ada satu - dan lebih disukai hanya satu - cara yang jelas untuk melakukannya." Dan seperti kebanyakan moto, itu rusak dengan gembira sinis yang tampaknya pada setiap kesempatan. (Itu sebabnya ada motto, saya kira.) Sayangnya, dalam pendapat saya yang paling sederhana, ekosistem Python terdiri dari banyak aturan "keras & cepat" yang saling bertentangan , tidak pernah dilanggar ... kecuali ketika "yada yada yada" (iblis, detail, dll). Dalam hampir semua kasus, ini disebabkan oleh evolusi historis dari bahasa & alat (dan yang ingin / membutuhkan pelajaran sejarah ketika mereka hanya ingin melanjutkan pekerjaan mereka) - tetapi juga dapat disebabkan oleh perbedaan dalam Mac / Win / * Platform Nix (mis. Unix / Linux memiliki mentalitas yang sama,ambil semua "praktik yang rusak" & "yang secara inheren salah ini" kultus kargo dengan sedikit garam. Beberapa sebenarnya sangat berarti. (Lainnya adil, yah, berarti.)
Pertama-tama, daripada "instalasi per-pengguna" dasar, Anda hampir selalu lebih suka virtualenv, karena sungguh, itu mungkin yang akhirnya Anda perlukan. Jadi sebaiknya Anda mulai dengan itu sekarang. Bagaimana ini dilakukan, tepatnya, "tergantung" (lihat motto Python, di atas). Jika Anda menggunakan Conda (kebanyakan untuk Mac & Windows), itu akan diatur menggunakan Conda . Jika menggunakan "pure" Python [sic] , itu tergantung pada versi mana & apa yang Anda miliki, tetapi virtualenvwrapper cukup berguna.
Kedua, seperti contoh tandingan pada aturan "tidak pernah sudo", Anda dapat memilih sudo -H pip install -U numpy
, yang sangat baik, bahkan menguntungkan, karena dapat memungkinkan seseorang untuk menghindari mengunduh / menginstal ulang / memelihara perpustakaan besar, di mana Anda hanya ingin / perlu satu versi, ke dalam setiap virtualenv secara terpisah. Kerangka kerja besar dan populer seperti scikit-learn, NumPy, matplotlib, SciPy, panda, dll., Dapat dipasang sekali & selesai dan digunakan kembali di seluruh lingkungan . Lebih lanjut, sys-admin Anda yang ramah mungkin dapat menginstal ini untuk setiap pengguna pada suatu sistem - dan jelas mereka akan melakukan ini melalui sudo
, juga, misalnya, untuk instalasi yang lebih rumit, seperti TensorFlow.
Dan, terakhir, jika Anda menginstal beberapa pustaka pihak ke-3 acak yang melakukan ini-dan-itu (Twitter API, teks munging, pemformatan kode, dll), maka saya sepenuhnya setuju - jangan menginstalnya sebagai root via sudo. Tentu, instal sebagai pengguna Anda saat ini. Tapi ingat, akun pengguna Anda memiliki semua hal yang sangat penting .
sudo pip install
pada dasarnya salah. - dari stackoverflow.com/a/33004920/95735