想将目标检测常用的模块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没有那个文件或目录
参考: