Python в C++ коде

166
13 января 2019, 15:20

Есть необходимость в написании пользовательских скриптов на Python в программе написанной на С++(QT MinGW-32bit).

Вопрос:

Как осуществить их взаимодействия и передачу данных.

Как из программы на C++ так из скриптов на Python.

Приложение на C++ и она занимается отрисовкой GUI и оперирует данными из бд для отображения их в GUI программы. Подразумевается что Python(скрипты) будут реализовывать работу с данными из с++ программы и отдавать их обратно.

Пайплайн бы выглядел примерно так.

(Mysql)->(С++ приложение)<--->(Python сценарий для обработки данных).

Где с++ приложения порождает запуск сценариев на Python.

(Примечание) Python не может оперировать напрямую базой данных ,только через с++ приложение.

Answer 1

Не очень понятно, что вы делаете, можно подумать только о направлениях:

  • если вы хотите "прям" консоль python в приложении, то вам придётся добавить в сборку python и провести работы по созданию отзывчивого окошка-консоли. У него должна быть с помощью С++ настроена "среда обработки" должны поступать переменные и пр., ну и возможность из этой среды забирать результаты в С++.

  • если вы хотите python-API на свой функционал, то вам придётся писать python-библиотеку обёртку. Пишутся python-сценарий, запускаются и дёргают ваши "либы".

  • если вы хотите выполнять python-код в неком REST пишите сервисы с песочницей для защиты от инъекций. Посылайте python код и необходимые данные, возвратом забирайте результаты.

READ ALSO
Собранный проект не запускается в Qt5

Собранный проект не запускается в Qt5

Собрал проект в Qt510, сборщик mingw530_32

184
Не соединяется сигнал и слот

Не соединяется сигнал и слот

У класса QComboBox есть сигнал, и 2 перегрузки:

160
Как при профилировании в gprof получить файл gmon.out когда корректное завершение программы невозможно?

Как при профилировании в gprof получить файл gmon.out когда корректное завершение программы невозможно?

Осваиваю gprofУ меня есть многопоточное приложение, которое необходимо оптимизировать

157
directory_iterator сортировка

directory_iterator сортировка

согласно https://encppreference

143