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