Как пример моего вопроса, мой ~/.bashrc
файл содержит следующие строки:
export LD_LIBRARY_PATH=/opt/intel/mkl/lib/ia32:$LD_LIBRARY_PATH
export LD_PRELOAD=/opt/intel/mkl/lib/ia32/libmkl_core.so
чтобы Numpy (Python) мог находить библиотеки, которые ему нужны для работы, так как он собран с компиляторами MKL и Intel. Этот рабочий процесс не самый лучший, но это уже другая история.
У меня вопрос, как я могу передать произвольные переменные (например, те, что в ~/.bashrc
), когда я запускаю программу с «sudo» (но не root)?
В настоящее время, если я бегу:
sudo python -c "import numpy"
Я получаю ошибку:
ImportError: libimf.so: cannot open shared object file: No such file or directory*
Некоторые предложения, как sudo -i
или sudo -E
ничего не меняет здесь.
Редактировать:
Я не могу ответить на мой вопрос (недостаточно очков: D), но я прокомментирую здесь, в надежде, что есть другие новички в Linux, интересующиеся sudo
ловушками.
[Только временно!] Это работает для меня ( ~/.bashrc
):
alias sudo='sudo env PATH=$PATH VAR1=SOME_VALUE VAR2=SOME_VALUE...'