Als Beispiel für meine Frage ~/.bashrc
enthält meine Datei folgende Zeilen:
export LD_LIBRARY_PATH=/opt/intel/mkl/lib/ia32:$LD_LIBRARY_PATH
export LD_PRELOAD=/opt/intel/mkl/lib/ia32/libmkl_core.so
damit Numpy (Python) Bibliotheken finden kann, die es ausführen muss, da es mit MKL- und Intel-Compilern erstellt wurde. Dieser Workflow ist nicht der beste, aber das ist eine andere Geschichte.
Meine Frage ist, wie kann ich beliebige Variablen (wie die in ~/.bashrc
) übergeben, wenn ich ein Programm mit 'sudo' (aber nicht root) starte?
Derzeit, wenn ich laufe:
sudo python -c "import numpy"
Ich erhalte einen Fehler:
ImportError: libimf.so: cannot open shared object file: No such file or directory*
Einige Vorschläge als sudo -i
oder sudo -E
ändern hier nichts.
Bearbeiten:
Ich kann meine Frage nicht beantworten (nicht genug Punkte: D), aber ich werde mich hier äußern, in der Hoffnung, dass sich andere Linux-Neulinge über sudo
Fallen wundern .
[Nur vorübergehend!] Das funktioniert bei mir ( ~/.bashrc
):
alias sudo='sudo env PATH=$PATH VAR1=SOME_VALUE VAR2=SOME_VALUE...'