Cython的安装以及编译错误的解决方案

Cython的安装以及编译错误的解决方案

1,Cython的安装
在这里我是直接安装预编译好的版本,具体的操作方法可以参考我的另一篇博文Windows系统下Python与NumPy安装方法,这里就不再一一赘述了。
2,编译Cython代码
编译Cython代码,会分为2步:
step1:.pyx被Cython编译为.c文件
step2:  .c文件被编译为可导入的使用模块.so(windows下为.pyd文件)
3,编译错误的解决方案
可能会出现的错误:Unable to find vcvarsall.bat
原因:Python 2.7 会搜索 Visual Studio 2008.如果你电脑上没有这个版本的话就会报错。
解决方案:
由于我的电脑上已经装了MinGW编译器(环境变量等均已设置好),所以打算使用MinGW来进行编译。
首先,在Python27\Lib\distutils文件夹下面找到distutils.cfg文件(没有的话就自己新建一个),添加以下内容
[build]
compiler = mingw32
然后,在次对文件进行编译会发现有一个ld链接错误,那么此时需要修改一下cygwinccompiler.py文件中Mingw32CCompiler类,修改为如下的形式
self.set_executables(compiler='gcc -O -Wall',
                             compiler_so='gcc -mdll -O -Wall -D MS_WIN64',
                             compiler_cxx='g++ -O -Wall',
                             linker_exe='gcc',
                             linker_so='%s%s %s %s'
                                    % (self.linker_dll, no_cygwin,

                                       shared_option, entry_point))

在compiler_so中添加了 -D MS_WIN64

删除了若干 -mno-cygwin 参数

这样就可以编译成功了,但是会有很多警告产生;如果你想绝对兼容的编译Cython代码的话,还是安装个VS吧。


你可能感兴趣的:(综合)