使用 pyinstaller 繫結 Cython 程式
從具有入口點的 Cython 程式開始:
def do_stuff():
cdef int a,b,c
a = 1
b = 2
c = 3
print("Hello World!")
print([a,b,c])
input("Press Enter to continue.")
在同一資料夾中建立 setup.py
檔案:
from distutils.core import setup
from Cython.Build import cythonize
setup(
name = "Hello World",
ext_modules = cythonize('program.pyx'),
)
使用 python setup.py build_ext --inplace
執行它將在子資料夾中生成一個 .pyd
庫。
之後,使用庫建立一個 vanilla Python 指令碼(例如,main.py
)並將 .pyd
檔案放在它旁邊:
import program
program.do_stuff()
使用 PyInstaller 繫結它 pyinstaller --onefile "main.py"
。這將建立一個子資料夾,其中包含 4 MB +大小的可執行檔案,其中包含庫和 python 執行時。