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吧。


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值