首先编辑 hello.pyx :
因为是Cython可以理解为Python的超集,所以Python的语法适用于Cython
(虽然使用判中 Pyximport 可以使 .pyx 像 .py 文件一样导入 Cython文件渣棚,但是如冲则不推荐,所以之后也不进行太多记录)
setup.py :
之后需要在命令行进入 .pyx 路径 使用 python setup.py build_ext --inplace 即可生成 .pyd ,改文件可以直接被调用
Date: 2020/03/21
Author: CW
前段时间学习了 NMS(非极大值抑制) 的各种版本实老镇现,其中包括 Cython 版本,需要对 .pyx文件进行编译,在此针对学习内容记录一番。
首先确保安装了Cython。
以文件名为 nms.pyx 为例,新建一个用于编译的.py文件,比如 setup.py,内容如下图所示。
接着执行该py文件: python setup.py build_ext --inplace 即可完成编译, 最终会生成一个 .c文件。
若编译过程中报错: numpy/arrayobject.h”: No such file or directory ,则需要修改下setup.py文件,内容变为如下:
红框所示为增加的内容,最后再按照上述方法执行该文件进行编译即可。
和正常py模块一样导入即可,比如要导入以上的 nms.pyx,则为 import nms。
如提示梁岁无法导入,则尝试在 import 相应包之前添加如下内容:
import pyximport
侍渣粗 pyximport.install()
需要在编尺消坦写语法上按桥迹照cython格式去编写,创建pyx文件直接新建,后缀名为pyx即陵桐可。具体 *** 作步骤如下:第一步安装对应的python和pycharm;第二步编写对应的pyx文件;第三步编写对应的setup文件;第四步生成pyd文件;第五步直接调用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)