Cython使用教程(1)


记录一下自己使用Cython的过程和经验.
环境:

  • 系统:Windows10/Ubuntu
  • python环境:Anaconda
  • 编辑器:VSCode

安装Cython

首先介绍Windows系统下的安装.
Cython通过编译python文件来实现加速,因此需要安装编译器,我使用的是MingW.
安装MingW后,安装相关库:

conda install libpython m2w64-toolchain -c msys2

Windows下还需进行编译器配置,进入python安装目录中的\Lib\distutils文件夹,新建distutils.cfg文件,并写入:

[build] compiler=mingw32

最后安装Cython:

conda install cython

至此已经安装完成.
下面介绍Ubuntu系统下的安装.
Linux系统下应该默认安装了gcc编译器,如果没有,则请自行安装.
直接安装Cython即可:

conda install cython

下面来实验一下Cython. 创建Hello.pyx(注意后缀名为.pyx),写入:

print("Hello!")

之后我们需要编译此文件,最常用的编译方式为创建setup.py,写入:

from setuptools import setup
from Cython.Build import cythonize

setup(
    ext_modules = cythonize("hello.pyx")
)

然后在终端中执行:

python .\setup.py build_ext --inplace

这里,Cython官方文档给定的参数--inplacefrom无法被识别,不知道是什么原因.

执行后,你的目录下应该多出来两个个文件:hello.c,hello.cp38-win_amd64.pyd,以及一个文件夹:build.(此处编译是在Windows系统下进行,linux系统下编译不会得到.pyd文件,而是会得到.so文件.)
之后执行:

import hello

可以看到输出:

Hello!

作为和python库的对比,此时我们更改hello.pyx的内容为:

print("Hello!It's a test")

保存后,不重新编译,输出结果不变.


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM