¿Incrustar Python/Numpy/Matplotlib en una aplicación C++ Qt?

Actualmente estoy trabajando en una pequeña aplicación científica C++ Qt 4.8 (y 5.0 cuando se lance), y me gustaría saber si es posible incrustar Python+Numpy+Maptplotlib (y tener una aplicación portátil incluso para personas sin Python instalado) en una aplicación C ++ Qt para hacer hermosas tramas dentro de mi aplicación?

¿Hay algún tutorial/ejemplo disponible de tal cosa?

Muchas gracias.

PD: no es un problema para mí tener que generar archivos temporales, pero es importante que el usuario no tenga que tener Python instalado.

preguntado el 30 de junio de 12 a las 16:06

No es que lo haya visto, pero no hay demasiados escalones. -

1 Respuestas

La forma común de tratar con Python desde C++ es con Boost.Python, pero es posible arreglárselas sin él.

Lo que debe recordar es que el "intérprete de Python" consta de dos partes: Python DLL/SO y Python stdlib, que deberá proporcionar. Lo único que agrega una instalación de Python es la configuración y un ejecutable que es solo una envoltura delgada alrededor de las otras tres partes.

Como no tiene una configuración, una vez que el el intérprete se inicializa necesitarás usar PySys_SetPath() para establecer sys.path para apuntar a stdlib y cualquier paquete adicional. Desde allí, puede usar el resto de la API de C para manipular el intérprete como lo haría con una instalación nativa.

Respondido el 30 de junio de 12 a las 18:06

Eso te da un intérprete de Python. Ahora agregue cómo proporcionar también NumPy y Matplotlib. - dirk eddelbuettel

Usted... los pone en un directorio y lo agrega a sys.path. Esa parte no cambia. - Ignacio Vázquez-Abrams

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.