Como ejemplo a mi pregunta, mi ~/.bashrc
archivo contiene estas líneas:
export LD_LIBRARY_PATH=/opt/intel/mkl/lib/ia32:$LD_LIBRARY_PATH
export LD_PRELOAD=/opt/intel/mkl/lib/ia32/libmkl_core.so
para que Numpy (Python) pueda encontrar las bibliotecas que necesita ejecutar, ya que está construido con compiladores MKL e Intel. Este flujo de trabajo no es el mejor, pero esa es otra historia.
Mi pregunta es ¿cómo puedo pasar variables arbitrarias (como las que están en ~/.bashrc
) cuando ejecuto un programa con 'sudo' (pero no root)?
Actualmente, si ejecuto:
sudo python -c "import numpy"
Me sale un error:
ImportError: libimf.so: cannot open shared object file: No such file or directory*
Algunas sugerencias como sudo -i
o sudo -E
no cambian nada aquí.
Editar:
No puedo responder a mi pregunta (no hay suficientes puntos: D) pero comentaré aquí, con la esperanza de que haya otros novatos de Linux que se pregunten acerca de las sudo
trampas.
[¡Solo temporalmente!] Esto funciona para mí ( ~/.bashrc
):
alias sudo='sudo env PATH=$PATH VAR1=SOME_VALUE VAR2=SOME_VALUE...'