Como exemplo para minha pergunta, meu ~/.bashrc
arquivo contém estas linhas:
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 o Numpy (Python) possa encontrar bibliotecas que ele precisa executar, pois é construído com os compiladores MKL e Intel. Esse fluxo de trabalho não é o melhor, mas isso é outra história.
Minha pergunta é como posso passar variáveis arbitrárias (como aquelas em ~/.bashrc
) quando executo o programa com 'sudo' (mas não como root)?
Atualmente, se eu executar:
sudo python -c "import numpy"
Eu recebo um erro:
ImportError: libimf.so: cannot open shared object file: No such file or directory*
Algumas sugestões como sudo -i
ou sudo -E
não mudam nada aqui.
Editar:
Não consigo responder à minha pergunta (não há pontos suficientes: D), mas vou comentar aqui, na esperança de que haja outros novatos no Linux se perguntando sobre as sudo
armadilhas.
[Apenas temporariamente!] Isso funciona para mim ( ~/.bashrc
):
alias sudo='sudo env PATH=$PATH VAR1=SOME_VALUE VAR2=SOME_VALUE...'