...anderer Ansatz.
Als ich zu diesem Beitrag kam, wollte ich nur Folgendes ausführen:
python -m spylon_kernel install
Als ich den obigen Befehl ausführte, erhielt ich eine Meldung, die mich aufforderte, sudo
zu verwenden zusätzlich zu dem, was ich eingegeben habe, wie zum Beispiel
sudo python -m spylon_kernel install
Als ich es tat, bekam ich die 'sudo:python:command not found ' Nachricht von der Konsole und Hinzufügen von --user wie:
python -m spylon_kernel install --user
war einfach genug, um es zu erledigen.
Beachten Sie, dass ich sudo
nicht verwendet habe Befehl innerhalb des letzten Befehls.
Ihr /etc/sudoers
ist explizit so konfiguriert, dass der Pfad Ihres Benutzers mit einem bekannten, sicheren Pfad überschrieben wird.
Wenn Sie jedoch den PATH des Benutzers immer durchlaufen möchten, können Sie sudo
einfach überschreiben mit einer Funktion, die dies tut (installiert in Ihrem ~/.bashrc
oder ähnliches, um es dauerhaft zu machen):
psudo() { sudo env PATH="$PATH" "[email protected]"; }
danach psudo python
verwendet denselben python
Interpreter, der im PATH zu finden wäre.
Wenn Sie wirklich den sudo
überschreiben möchten Befehl selbst, das geht auch:
sudo() { command sudo env PATH="$PATH" "[email protected]"; }
Die command
builtin verhindert, dass die Funktion rekursiv ist (sich selbst aufruft).
Wenn Sie Ihren bashrc nicht ändern möchten, können Sie dies jederzeit tun:sudo env "PATH=$PATH" python something