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文件;第五步直接调用。
生成单个pyc文件
对于py文件,可以执行下面命令来生成pyc文件。绝雹
python -m foo.py
1
另外一种方式是通过代码来生成pyc文件。
import py_compile
py_compile.compile('/path/to/foo.py')
可以看看这胡宏滑个博客
网页链裤腊接
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)