大家喜欢python的原因不外乎, 一是写起来方便, 二是第三方库多. 但是python比较明显的缺点就是运行速度较慢. 而cpython正好弥补了这一缺点, 就是同时保证了开发效率和运行效率.下面介绍一下cython 的.
Cython是用来生成 C 扩展到而不是独立的程序的。所有的加速都是针对一个已经存在的 Python 应用的一个函数进行的。没有使用C 或 Lisp 重写整个应用程序,也没有手写C扩展 。只是用一个简单的方法来整合C的速度和C数据类型到 Python 函数中去。
1. Windows下安装
先从http://cython.org下载软件包:Cython-0.19.2.zip
解压到一个目录,如D:\Cython-0.19.2
从开始菜单里打开Visual Studio Command Prompt,例如:MicroSoft Visual Studio 2010-> Visual Studio Tools -> Visual Studio Command Prompt(2010)
敲入如下命令:
D:
cd Cython-0.19.2
python setup.py install
命令执行完后就会把cython安装到python的安装目录下
2. Ubuntu下安装
apt-get install cython
3. 一个例子
写一个"hello, world"的例子 工作流程如下:
新建一个hello.pyx文件写入:
print("Hello, world!")
在同一个文件夹下创建setup.py:
from distutils.core import setup
from Cython.Build import cythonize
setup(
ext_modules = cythonize("helloworld.pyx")
)
之后在控制台:
$ python setup.py build_ext --inplace
如果是linux系统, 我们会得到一个.so和.c文件, hello.so是一个动态库,可以直接导入到pythoin程序中,hello.c是翻译成的c文件.
>>> import helloworld
Hello World