E para uma resposta mais moderada:
- Você realmente precisa sempre de
sudo apt-get install ...
, é exatamente como a ferramenta foi projetada para funcionar.
- Usar
sudo [-H]
com pip install
é possível & amp; opcional, dependendo do que exatamente você quer fazer (e, portanto, "controvérsia").
Um dos os lema de Python é "Deve haver ser um - e de preferência apenas um - caminho óbvio para fazê-lo. " E como a maioria dos lemas, é quebrado com alegria sardônica aparentemente em todas as oportunidades possíveis. (É por isso que os lemas existem, eu acho). Infelizmente, na minha mais humilde opinião, o ecossistema Python consiste em muitas regras conflitantes "hard & amp; fast", nunca quebradas ... exceto quando "yada yada yada" (diabo, detalhes, etc). Em quase todos os casos, isso se deve à evolução histórica da linguagem & amp; ferramentas (e quem quer / precisa de uma aula de história quando quer apenas continuar com seu trabalho) - mas também pode ser devido a diferenças nas plataformas Mac / Win / * Nix (por exemplo, Unix / Linux tem uma mentalidade semelhante, mas tem a vantagem de décadas a mais de maturidade.) Então por favor faça todas essas "prática quebrada" & amp; "inerentemente errados" carga-cultistas com uma enorme pitada de sal. Alguns realmente significam bem. (Outros são apenas, bem, significa.)
Antes de mais nada, em vez de "instalações por usuário" básicas, você quase sempre preferirá um virtualenv, porque, na verdade, é provavelmente o que você vai precisar. Então você pode começar com isso agora. Como isso é feito, exatamente, "depende" (veja o lema do Python, acima). Se você estiver usando o Conda (principalmente para Mac e Windows), ele será configurado usando o Conda . Se estiver usando Python "puro" [sic] , depende de qual versão & amp; quais utilitários python você tem, mas virtualenvwrapper é muito útil.
Segundo, apenas como um contra-exemplo da regra "never sudo", você pode preferir sudo -H pip install -U numpy
, que é perfeitamente bom, até mesmo vantajoso, pois pode evitar o download / reinstalação / manutenção de grandes bibliotecas. , onde você só quer / precisa de uma versão, em cada virtualenv separadamente. Estruturas grandes e populares, como scikit-learn, NumPy, matplotlib, SciPy, pandas, etc., podem ser instaladas uma vez & amp; feito e reutilizado em ambientes . Além disso, o seu sistema amigável local pode ser instalado em todos os usuários em um sistema - e obviamente eles também estão fazendo isso via sudo
, por exemplo, para mais instalações complicadas, como o TensorFlow.
E, por fim, se você estiver instalando uma biblioteca aleatória de terceiros que faça isso (Twitter API, texto em texto, formatação de código, etc), então concordo totalmente - não o instale como root via sudo. Claro, instale-o como seu usuário atual. Mas lembre-se, sua conta usuário tem todas as suas coisas realmente importantes .