Comme exemple à ma question, mon ~/.bashrc
fichier 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
de sorte que Numpy (Python) puisse trouver les bibliothèques qu’il doit exécuter, 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 de savoir comment puis-je passer des variables arbitraires (comme celles dans ~/.bashrc
) lorsque je lance un 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*
Certaines suggestions comme sudo -i
ou sudo -E
ne change rien ici.
Modifier:
Je ne peux pas répondre à ma question (pas assez de points: D) mais je vais commenter ici, dans l’espoir que d’autres débutants en Linux s’interrogent sur les sudo
pièges.
[Seulement temporairement!] Cela fonctionne pour moi ( ~/.bashrc
):
alias sudo='sudo env PATH=$PATH VAR1=SOME_VALUE VAR2=SOME_VALUE...'