-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
--embedflag 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.