En guise d'exemple à ma question, mon ~/.bashrc
contient ces lignes :
export LD_LIBRARY_PATH=/opt/intel/mkl/lib/ia32:$LD_LIBRARY_PATH
export LD_PRELOAD=/opt/intel/mkl/lib/ia32/libmkl_core.so
pour que Numpy (Python) puisse trouver les bibliothèques dont il a besoin pour fonctionner, car il est construit avec les compilateurs MKL et Intel. Ce flux de travail n'est pas le meilleur, mais c'est une autre histoire.
Ma question est la suivante comment puis-je faire passer des variables arbitraires (comme celles de la rubrique ~/.bashrc
) lorsque je lance le programme avec 'sudo' (mais pas root) ?
Actuellement, si je cours :
sudo python -c "import numpy"
Je reçois une erreur :
ImportError: libimf.so: cannot open shared object file: No such file or directory*
Quelques suggestions comme sudo -i
o sudo -E
ne change rien ici.
Edita:
Je ne peux pas répondre à ma question (pas assez de points :D ) mais je vais la commenter ici, en espérant que d'autres débutants sous Linux se posent la question suivante sudo
pièges.
[Seulement temporairement !] Cela fonctionne pour moi ( ~/.bashrc
):
alias sudo='sudo env PATH=$PATH VAR1=SOME_VALUE VAR2=SOME_VALUE...'