英文的说明可以看《InstallingOnWindows》,共有2步:
一、安装裂核橡MinGW。现在SF已不提供完整安装版了,只能下载在线安装版。由于Cython也支持C++,所以我也勾选了g++编译器。
装好后把MinGW目录/bin加入PATH环境变量,并保证gcc --version可以正确执行氏档。
接着去Python目录\Lib\distutils下添加一个distutils.cfg文件,内容如下:
[build]
compiler = mingw32
实际上这最后一步也可不做,但每次编译都需要加一个-c参数来指定编译器。
二、安肆旁装Cython。
我是直接下载exe版本的,直接运行即可。Python 2.4可能还要做些额外处理,我没有这个版本,没法测试。
接着就可以来测试了,先来写个hello world。
hw.py:
def hi():
print "Hello World"
setup.py:
from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext
setup(
cmdclass = {'build_ext': build_ext},
ext_modules = [Extension("hw", ["hw.py"])]
)
然后运行这段代码进行编译:
setup.py build_ext --inplace
这就生成了很多文件,其中hw.pyd就是生成的C扩展了。
接着测试一下:
>>>from hw import hi
>>>hi()
Hello World
然后来测试下性能:
csigma.py和pysigma.py:
def sigma(n):
a = 0
for i in xrange(n):
a += i
return a
测试脚本:
from timeit import Timer
print Timer('sigma(10000)','from csigma import sigma').timeit(10000)
print Timer('sigma(10000)','from pysigma import sigma').timeit(10000)
setup.py写吵耐法,参考 这里linux:
windows:
在cython3上线之前,windows下编译init始终有个问题:
这个问题是当前cython对windows包支持不好导致的,可以使用 如下局指方法 修复:
打开cython安装目录:
打开 安装目录\cython\Compiler\ModuleNode.py ,替换如下内容:
替换为
然后升腊春删除项目build下的文件夹,重新buid就行了
python setup.py bdist_wheel
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)