Numpy 构建Hello World程序

构建Hello World程序,依循编程语言传统的介绍方式,我们的Cython之旅将从一个Hello World范例程序开始。不同于Python,我们需要对Cython代码进行编译。我们将首先编写一个.pyx文件,再由该文件生成C语言代码,然后对.c文件进行编译,最后把编译后生成的模块引入Python程序。

具体步骤

下面将具体介绍怎样构建一个Cython版本的Hello World程序。

  1. 编写hello.pyx文件。

首先需要编写一段相当简单的代码,用来打印“Hello World”。这是一段标准的Python代码,只是其所在文件的扩展名是pyx。

def say_hello():
    print "Hello World!"

  1. 编写distutils setup.py脚本。

需要创建一个名为setup.py的文件,用来帮助我们构建Cython代码。

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
)

如你所见,我们需要在这个文件中指明上一步骤编写的Cython程序名称并给应用一个名字。

  1. 构建扩展模块。

使用如下命令构建。

python setup.py build_ext --inplace

这将首先生成C语言代码,再针对所在平台对其进行编译后,产生如下输出结果。

running build_ext
cythoning hello.pyx to hello.c
building 'hello' extension
creating build

现在可以使用如下语句,在Python程序中引入刚刚生成的模块。

from hello import say_hello

攻略小结

本章我们介绍了一个传统的Hello World范例。Cython是编译型的语言,需要对Cython代码进行编译。我们编写了一个.pyx文件,其中包含了打印Hello World的相关代码。我们也编写了一个setup.py文件,用来生成和构建C语言程序。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程