Python-Pakete mit Pip aktualisieren: „sudo“ oder „--user“ verwenden?

Python-Pakete mit Pip aktualisieren: „sudo“ oder „--user“ verwenden?

Ich habe eine Frage zur Installation/Aktualisierung von Python-Paketen mit dem Tool pip.

Ich kann entweder rennen

sudo pip install -U PACKAGENAME

oder

pip install -U PACKAGENAME --user

Was ist der Unterschied zwischen diesen beiden Befehlen und welchen sollte ich bevorzugen?

  1. auf meiner eigenen Maschine?
  2. im Installationsskript eines Python-Programms, das ich veröffentliche?

Antwort1

Für mich ist der einzige Unterschied der Schemapfad.

Mit sudo wird Ihr Paket hier installiert:

/usr/local/lib/python2.7/dist-packages/

Damit --userwerden sie in Ihrem Verzeichnis installiert $HOMEin:

$HOME/.local/lib/python2.7/site-packages

Für Ihr eigenes System spielt es meiner Meinung nach keine große Rolle. Verwenden Sie es, --userwenn Sie kein Sudoer-Mitglied sind.

Vermeiden Sie für den von Ihnen veröffentlichten Code --user:

verwandte Informationen