EmbeddingCython
Gabriel de Marmiesse edited this page May 5, 2018
·
2 revisions
Typically Cython is used to create extension modules for use from Python programs. It is, however, possible to write a standalone programs in Cython. This is done via embedding the Python interpreter with the --embed
option.
- See also this script to "freeze" Cython modules (like Python freeze).
- This page is derived from David McNab's idea for embedding Pyrex. The concepts there have been implemented in the
--embed
flag for Cython.
This has been implemented--simply run cython with the --embed
option and a .c file with a main method is created which sets its module name to __main__
(just as for normal executable Python scripts). Compile the .c file and link it against the Python library. Starting the resulting binary will then execute the module code.
A complete demo can be found at at https://github.com/cython/cython/tree/master/Demos/embed.