f6762fa Dec 14, 2010
@williamstein @dagss @robertwb
76 lines (52 sloc) 2.59 KB
Cython - Usage Instructions
Building Cython extensions using distutils
Cython comes with an experimental distutils extension for compiling
Cython modules, contributed by Graham Fawcett of the University of
Windsor (
The Demos directory contains a file demonstrating its use. To
compile the demos:
(1) cd Demos
(2) python build_ext --inplace
python build --build-lib=.
(You may get a screed of warnings from the C compiler, but you can
ignore these -- as long as there are no actual errors, things are
probably okay.)
Try out the extensions with:
Building Cython extensions by hand
You can also invoke the Cython compiler on its own to translate a .pyx
file to a .c file. On Unix,
cython filename.pyx
On other platforms,
python filename.pyx
It's then up to you to compile and link the .c file using whatever
procedure is appropriate for your platform. The file
Makefile.nodistutils in the Demos directory shows how to do this for
one particular Unix system.
Command line options
The cython command supports the following options:
Short Long Argument Description
-v --version Display version number of cython compiler
-l --create-listing Write error messages to a .lis file
-I --include-dir <directory> Search for include files in named
directory (may be repeated)
-o --output-file <filename> Specify name of generated C file (only
one source file allowed if this is used)
-p, --embed-positions If specified, the positions in Cython files of each
function definition is embedded in its docstring.
-z, --pre-import <module> If specified, assume undeclared names in this
module. Emulates the behavior of putting
"from <module> import *" at the top of the file.
Anything else is taken as the name of a Cython source file and compiled
to a C source file. Multiple Cython source files can be specified
(unless -o is used), in which case each source file is treated as the
source of a distinct extension module and compiled separately to
produce its own C file.