Я пытаюсь выполнить идентификацию образа tenorflow на удаленном сервере с моего локального хоста.На моем локальном компьютере есть сценарий, который запускает эту команду ssh подпроцесса для выполнения сценария на удаленном сервере.
stdoutdata = subprocess.getoutput('sshpass -p \'mypassword\' ssh root@myserverIP "python3 ../var/www/html/tensorflowScreenStatus/getScreenStatus.py"')
Я могу запустить сценарий и без проблем вернуть вывод моему локальному сценарию.Внутри серверного скрипта у меня есть подпроцесс python, который запускает ту же терминальную команду для отображения изображения тензорным потоком, когда я запускаю его вручную на удаленной машине, он работает нормально.
Когда серверный скрипт выполняется из моего локального скрипта, python не знает, как обрабатывать аргументы для tenorflow.
серверная команда, которая вызвала ошибку
stdoutdata = subprocess.getoutput("sudo python3 -m scripts.label_image --graph=tf_files/retrained_graph.pb --image=asdfsfsd.jpg") print("stdoutdata: " + stdoutdata)
Ошибка:
/usr/bin/python3: Error while finding spec for 'scripts.label_image' (ImportError: No module named 'scripts')
scripts.label_image - это аргумент в команде, с которой Тензорный поток понимает, что делать.Как будто, запустив команду tenorflow в подпроцессе, python забывает позволить тензорному потоку прочитать его.Эта же команда работает нормально, если я запускаю ее вручную, используя sshing на удаленном сервере.
Я даже не знаю, как назвать этот тип ошибки.Как будто python3 все еще может работать, но забывает, что означают его аргументы по умолчанию при запуске в подпроцессе.
Любая помощь вообще будет очень цениться.