-
说明
尝试翻译Cython Documentation以助学习。
水平有限,乐迎指正;文档首页:《Cython官方文档中文翻译》
-
构建Cython代码
与
Python
不同,Cython
代码必须编译。编译,有两个层面:Cython
将.pyx
文件编译为.c
文件,包含Python
扩展模块的代码;C编译器
将.c
文件编译为.so
文件(在Windows
则为.pyd
文件),编译后可以直接import
到Python
会话中。发布(Distutils
)或安装工具(setuptools
)处理这一部分。在某些情况下,Cython
也可以直接调用他们。
为了理解
Cython + distutils/setuptools
的构建过程,可能需要更多了解distributing Python modules(中文版本)。构建
Cython
代码的几种方式:- 写一个distutils/setuptools
setup.py
,这是常用方法,也是推荐方式; - 用Pyximport,就如
.py
文件一样导入.pyx
文件(用distutils在后台编译并构建)。这种方式比写setup.py
更简单,但是并不灵活。例如,若你需要做特定的汇编选项