3.如何構建Cython代碼
阿新 • • 發佈:2019-02-23
tools 接下來 令行 塊代碼 兩個 col 運行命令 ace rom
一、與Python不同的是,Cython代碼需要進行編譯。發生兩個階段
- 將一個.pyx文件用Cython編譯成一個.c文件中,包括Python擴展模塊代碼
- 將.c文件使用C編譯器編譯成.so文件(在windows上是.pyd文件),這個文件可以在Python中直接import使用
二、構建Cython代碼的方法
- 寫一個distutils/setuptools setup.py(推薦)
- 像使用.py文件一樣。使用Pyximport,導入Cython .pyx文件(使用distutils在後臺編譯和構建)。
- 運行 cython 命令行工具通過.pyx文件生成.c文件,然後手動將.c文件編譯為適合python導入的共享庫或dll
- 使用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代碼