Итак, у меня есть модель глубокого обучения распознаванию изображений, для которой я подготовил графический интерфейс в QT.Мне нужно запустить скрипт с ipython, который загружает модель и выводит одно число.Теперь это единственное число - то, что я хочу иметь в приложении QT.Так что без ненужной истории: я хочу запустить скрипт через QT и получить вывод в виде строки (сначала).
Используя g ++ с терминалом, я мог запустить system (), и он превысил желаемое числочтобы, так что все работало нормально, поэтому проблема не может быть ни с моим кодом, ни с самой командой.
std::string valInString;
std::string str = "ipython /home/szalontaibal/Dokumentumok/DeepLearning/fastai/fastai/courses/dl1/moneyqt.py";
const char *command = str.c_str();
valInString = exec(command);
std::cout << valInString;
Я пробовал process.execute (...), process.start (...) иsystem (...), но они могут выполнять только базовые команды (gedit, ls и т. д.), но не ipython.Другими словами, код, показанный ранее, не будет работать в QT.
Иногда он зависает, иногда вывод был похож на то, что ipython не был найден.
Еще одна странная вещь.Как уже было сказано, у меня есть программа на С ++, которая может делать то, что я хочу.Я попытался запустить его тем же методом, но он жаловался на то, что не нашел ipython, где, с другой стороны, упомянутая программа на С ++ работала отлично (при открытии вручную, а не через qt)
Еще одна вещь, которую ямогу думать о.Мне нужно активировать conda перед выполнением скрипта с ipython, может быть, это не активируется через qt?Но даже если я добавлю «conda activ && ....» на передний план, он скажет, что conda не найден.