Python: SSH-соединение подпроцесса не может найти команду i2cset - PullRequest
0 голосов
/ 16 мая 2019

Я работаю над проектом, в котором я пытаюсь написать приложение на python с графическим интерфейсом для управления роботом, который я сделал через SSH. Робот сделан из Raspberry pi 2, подключенного к Arduino через I2C, поэтому для управления им мне нужно вызвать «i2cset» на моем роботе через соединение SSH, которое я создаю с помощью подпроцесса python.

Проблема в том, что хотя простое обычное соединение SSH работает идеально, когда я пытаюсь вызвать «i2cset» из подпроцесса python, он не может найти его, потому что PATH подпроцесса ssh не включает «/ usr / sbin» папка, содержащая команду «i2cset». Что делает его еще более странным, так это то, что файл "etc / profile" по умолчанию устанавливает намного больший PATH, чем тот, который я получаю в сеансе ssh, созданном через python.

Я уже пробовал искать ответы в интернете, но, видимо, мой вариант использования немного специфичен, и тот факт, что я хотел бы использовать только стандартные модули Python, немного сужает решения.

Я также пытался использовать pxssh, но, видимо, он не работает с моей инфраструктурой, поэтому я действительно хотел бы продолжать использовать подпроцесс, если это возможно.

Кто-нибудь знает, как я мог это исправить?

...