As is the tradition with programming languages, we will start with a Hello World example. Unlike with Python, we need to compile Cython code. We start with a
.pyx
file, from which we will generate C code. This .c
file can be compiled and then imported into a Python program.
This section describes how to build a Cython Hello World program.
hello.pyx
code.First, we will write some pretty trivial code that prints "Hello World". This is just normal Python code, but the file has the pyx
extension.
def say_hello(): print "Hello World!"
distutils setup.py
script.We need to create a file named setup.py
to help us build the Cython code.
from distutils.core import setup from distutils.extension import Extension from Cython.Distutils import build_ext ext_modules = [Extension("hello", ["hello.pyx"])] setup( name = 'Hello world app', cmdclass = {'build_ext': build_ext}, ext_modules = ext_modules )
As you can see, we specified the file from the previous step and gave our application a name.
python setup.py build_ext --inplace
This will generate C code, compile it for your platform, and will produce the following output
running build_ext cythoning hello.pyx to hello.c building 'hello' extension creating build
Now, we can import our module with the following statement:
from hello import say_hello
52.14.17.40