Come esempio per la mia domanda, il mio ~/.bashrc
file contiene queste righe:
export LD_LIBRARY_PATH=/opt/intel/mkl/lib/ia32:$LD_LIBRARY_PATH
export LD_PRELOAD=/opt/intel/mkl/lib/ia32/libmkl_core.so
in modo che Numpy (Python) possa trovare le librerie che deve eseguire, poiché è compilato con compilatori MKL e Intel. Questo flusso di lavoro non è il migliore, ma questa è un'altra storia.
La mia domanda è: come posso passare variabili arbitrarie (come quelle in ~/.bashrc
) quando eseguo il programma con 'sudo' (ma non root)?
Attualmente, se corro:
sudo python -c "import numpy"
Ottengo un errore:
ImportError: libimf.so: cannot open shared object file: No such file or directory*
Alcuni suggerimenti come sudo -i
o sudo -E
non cambia nulla qui.
Modificare:
Non posso rispondere alla mia domanda (non abbastanza punti: D) ma commenterò qui, nella speranza che ci siano altri neofiti di Linux che si chiedono sudo
trappole.
[Solo temporaneamente!] Questo funziona per me ( ~/.bashrc
):
alias sudo='sudo env PATH=$PATH VAR1=SOME_VALUE VAR2=SOME_VALUE...'