cython作为python的超集,可以同时编译python和C的代码,文件后缀名为pyx,编译后导出pyd文件(windows环境)或者是so文件(类unix环境)。具体流程主要为:
1. 将pyx的代码编译成.C文件;
2. 利用系统的C编译器将.C文件转换成.pyd或.so文件;
在windows下安装cython的时候有时候会出现:
… unable to find vcvarsall.bat …
这个说明编译器未装或是环境变量未配置好,可以安装visual studio或者mingw。
1. Visual Studio 编译
安装完VS后需要设置环境变量:
Visual Studio 2010 (VS10)设置 VS90COMNTOOLS=%VS100COMNTOOLS%
Visual Studio 2012 (VS11)设置 VS90COMNTOOLS=%VS110COMNTOOLS%
Visual Studio 2013 (VS12)设置 VS90COMNTOOLS=%VS120COMNTOOLS%
来源:http://www.oschina.net/question/2294527_244245
2. minGW 编译
首先从官网下载minGW,下载下来的是一个minGW installer manager包管理器。
主要安装MinGW Base System下的mingw32-base,选中后点确定安装。
安装路径默认在C:\MinGW,需要将C:\MinGW\bin的可执行文件路径添加到系统环境变量Path中。
在cmd命令行中输入gcc –version确认安装
最后将python distuils的默认编译器从微软的msvc切换成mingw32:
新建一个名为distutils.cfg的配置文件,文件内容如下,并保存到python distutil的包目录下,以编者安装的64位anaconda为例,该路径为:
D:\anaconda64\Lib\distutils
[build]
compiler = mingw32
官网cython安装参考:
github/cython/installing on windows