4. Empotrado de Python en otra aplicación

Empotrar Python es parecido a extenderlo, pero no igual. La diferencia radica en que al extender Python, el programa principal de la aplicación sigue siendo el intérprete de Python, mientras que al empotrar Python, el programa principal puede no tener nada que ver con Python, ocasionalmente alguna parte del programa invocará al intérprete para que ejecute cierto código Python.

Por ello, al empotrar Python, se debe proporcionar el programa principal. Una de las cosas que debe hacer el programa principal es inicializar el intérprete de Python. Como mínimo, hay que llamar a la función Py_Initialize() (en MacOS, a la función PyMac_Initialize()). Hay llamadas opcionales para pasar argumentos de línea de órdenes a Python. Más tarde, se puede llamar al intérprete desde cualquier lugar de la aplicación.

Hay varias maneras de llamar al intérprete: se puede pasar una cadena que contenga sentencias de Python a PyRun_SimpleString() o pasar un puntero al fichero stdio y un nombre de fichero (tan sólo para identificación de los mensajes de error) a PyRun_SimpleFile(). También se puede llamar a las operaciones de nivel inferior descritas en los anteriores capítulos para construir y usar objetos de Python.

Se puede encontrar una sencilla demostración de empotrado de Python en el directorio Demo/embed/ de la distribución de fuentes.


Subsecciones

Ver Sobre este documento... para obtener información sobre sugerencias.