windows下將pyx文件編譯成pyd文件

想將目標檢測常用的模塊bbox.pyc編譯成pyd文件

第一步:寫cython編譯文件build_pyd.py

import sys
import numpy as np
A=sys.path.insert(0, "..")
from distutils.core import setup
from distutils.extension import Extension
from Cython.Build import cythonize
from Cython.Distutils import build_ext

ext_module = Extension(
                        "bbox",
            ["bbox.pyx"],
            extra_compile_args=["/openmp"],
            extra_link_args=["/openmp"],
            )

setup(
    cmdclass = {'build_ext': build_ext},
    ext_modules = [ext_module],
    #注意這一句一定要有,不然只編譯成C代碼,無法編譯成pyd文件
    include_dirs=[np.get_include()]
)

第二步:執行python build_pyd.py build_ext --inplace 或者 python build_pyd.py build

注意,py腳本里需要加

import numpy as np

include_dirs=[np.get_include()

不然會導致bbox.c文件中錯誤:fatal error: numpy/arrayobject.h沒有那個文件或目錄

參考:

https://blog.csdn.net/DSCjxgzzd/article/details/89071040

https://blog.csdn.net/wuzuyu365/article/details/52430657

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章