1. 程式人生 > >3.如何構建Cython代碼

3.如何構建Cython代碼

tools 接下來 令行 塊代碼 兩個 col 運行命令 ace rom

一、與Python不同的是,Cython代碼需要進行編譯。發生兩個階段

  1. 將一個.pyx文件用Cython編譯成一個.c文件中,包括Python擴展模塊代碼
  2. 將.c文件使用C編譯器編譯成.so文件(在windows上是.pyd文件),這個文件可以在Python中直接import使用

二、構建Cython代碼的方法

  1. 寫一個distutils/setuptools setup.py(推薦)
  2. 像使用.py文件一樣。使用Pyximport,導入Cython .pyx文件(使用distutils在後臺編譯和構建)。
  3. 運行 cython 命令行工具通過.pyx文件生成.c文件,然後手動將.c文件編譯為適合python導入的共享庫或dll
  4. 使用Jupyter或Sage,這兩個都可以內聯Cython代碼。

三、使用distutils構建Cython模塊

首先編寫python腳本(hello.pyx)

def sayHi(name):
    print(Hi,%s!%name)

然後編寫setup.py腳本

from distutils.core import setup
from Cython.Build import cythonize

setup(name=Hello world app,
      ext_modules=cythonize(hello.pyx))

最後在所在目錄中運行命令

python setup.py build_ext --inplace

接下來的使用就和python庫一樣

3.如何構建Cython代碼