Sudo verwendet PATH
aus Sicherheitsgründen nicht dasselbe wie Ihr aktueller Benutzer. In /etc/sudoers
gibt es eine Option, secure_path
die den Pfad angibt, der beim Ausführen von Befehlen mit sudo verwendet wird. Meins sieht so aus:
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
Aus der Sudo-Manpage:
secure_path Path used for every command run from sudo. If you don't trust the people running sudo to have a sane PATH environment
variable you may want to use this. Another use is if you want to have the “root path” be separate from the “user path”.
Users in the group specified by the exempt_group option are not affected by secure_path. This option is not set by
default.
Der pip3
Befehl befindet sich wahrscheinlich nicht in dem von der sudoers
Datei definierten Pfad . Sie können entweder den Pfad zum Befehl hinzufügen secure_path
oder den vollständigen Pfad zum pip3
Befehl wie folgt angeben:
sudo /path/to/pip3 install django
sudo echo $PATH
produzieren etwas anderes? Haben Sie den Befehl mit dem vollständigen Pfad zu pip3 ausprobiert? Unterschiede in den Ergebnissen?Sie können immer tun:
Wie in dieser Antwort erwähnt .
quelle
Ich habe die Django-Installation folgendermaßen ausgegeben:
Dies hat das Problem behoben.
quelle