День добрый. Пытаюсь вызвать скриптик на питоне из скетча с помощью Process. И всё бы ничего, всё отлично работает, пока скриптик состоит из одной строчки print(123). Как только в скрипт добавляется вызов библиотек, то работа скрипта прекращается, причём без ошибок, просто без ответа. Покапавшись, я понял, что дело в переменных окружения. Для корректной работы скрипта необходимо наличие переменной окружения LD_LIBRARY_PATH, и пока я работаю по ssh, из консоли, скрипт запускается на ура, отрабатывает и это логично. Ведь я в ~/.profile прописал export LD_LIBRARY_PATH=/mnt/sda1/usr/lib, и всё отлично. Возвращаясь к вызову скрипта из скетча, я попробовал вызвать "env", и посмотреть, что мне вернёт результат выполнения этой команды. Как и ожидалось, я получил стандартный набор переменных окружения, где отсутствовал LD_LIBRARY_PATH. Затем, я всё же попробовал, прям из скетчка выполнить export, но безуспешно. Последовательное выполнение export, а затем env, всё равно приводило к результату, где отсутствует LD_LIBRARY_PATH. Так же, пробовал прописывать в формате KEY=VALUE, в файл /etc/environment. Тоже безрезультатно, причём как для выполнения env из скетча, так и для выполнения в консоли из под root'a. Т.е. прописывание в /etc/environment - вообще не даёт результата. Пока мысли иссякли, решил спросить тут. Может кто-нибудь сможет что-то посоветовать.
Это не то. Речь не о PYTHON_PATH, а о произвольных, других, переменных. Опять же, в моём случае LD_LIBRARY_PATH. Если быть конкретным, то я говорю не об import'e site-packages модулей в питоне, а скорее о подсасывании so-библиотек. В моём случае sqlite3.so. И по-большому счёту, я бы мог сделать симлинк на неё из стандартного /usr/lib, но это не комильфо, так как обширная часть so-модулей лежит на смонтированной флешке. Не сделаешь же для каждой библиотеки симлинк, тем более, когда есть давно существующий механизм переменных окружения. Поэтому, мне кажется, есть какая-то возможность указать эти переменные для вызовов из скетча.