Як приклад мого запитання, мій ~/.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...'