python文件中import pyx文件问题

article/2025/9/18 12:41:47

1、首先,pyx文件需要安装Cython,这里先进入自己的虚拟环境,用conda安装Cython

conda install Cython

2、需要用到pyx的地方是mattnet中的mask.py 文件,里面 import  _mask.pyx 文件,需要先在mask的目录下建立setup文件,按照这里面setup建立方式:(参考 setup文件  ,)

from distutils.core import setup
from Cython.Build import cythonizesetup(ext_modules = cythonize("_mask.pyx")
)

但是会出现以下问题,其实就是找不到numpy路径:

bbox.c:626:31: fatal error: numpy/arrayobject.h: No such file or directory
compilation terminated.
error: command 'gcc' failed with exit status 1

3、这里需要修改setup文件,改成以下格式,相当于包含了numpy路径。 (参考: setup文件建立)

from distutils.core import setup
from Cython.Build import cythonize
import numpy as np 
setup(ext_modules = cythonize("_mask.pyx"),include_dirs = [np.get_include()])

  4、cd进入externel目录后,运行:

python setup.py build_ext --inplace

出现以下错误:

5、本来提示不存在的文件maskApi.c其实是存在的,所以其实是cd目录错了,应该cd进入上一级目录,因为external下没有external/的目录,cd进入external的上级refer目录,重新运行:

python setup.py build_ext --inplace

6、大功告成。困扰我一周的bug终于解决了,竟然体会到当程序媛的乐趣了...


http://chatgpt.dhexx.cn/article/XQueHlXj.shtml

相关文章

成功解决windows下将.pyx文件编译成.pyd文件

在linux上正常跑通的算法,搬到windows下使用就报错了 原来是其中涉及到.pyx文件的编译 在linux下.pyx会被编译成.so的文件,但是在windows下是无法使用.so文件的 需要重新编译成windows下的.pyd格式的才可以直接将python模块成功导入到算法中 所以需要解…

.pyx文件编译出错

文章目录 .pyx文件的编译导入 参考博客(写的超级好,完美解决了问题) 错误 ImportError: Building module dtw failed: ["distutils.errors.CompileError: command D:\\\\Program Files (x86)\\\\Microsoft Visual Studio\\\\2019\\\\Pr…

python导入pyx文件失败

报错如下: 出现无法导入的情况时,在import之前加上一下两条语句即可解决问题: import pyximport pyximport.install()

pyx 编译成 pyd

1、编写好py文件,然后将后缀改为pyx 2、编写好setup.py文件 3、在setup.py 文件同目录下打开命令行执行: python setup.py build_ext --inplace之后就会生成pyd文件 和C文件 示例: 需要编译成pyd的文件 fast_fib.pyx import functoolsdef …

如何在pycharm上编译使用pyx文件

前言 cython是专门用来写在Python里面import用的扩展库。实际上Cython的语法基本上跟Python一致,而Cython有专门的“编译器”先将 Cython代码转变成C,然后使用C编译器编译出最终的Python可调用的模块。 本人因在github中找到了一份用cython写的自定义库…

虚拟机的安装与ubuntu的创建,,Ubuntu快捷键

文章目录 vmware安装包与Ubuntu镜像文件:VMware的安装Ubuntu的创建Ubuntu快捷键 在学习与工作中,我们往往可能需要用到windows以外的操作系统,比如Linux系统就适合开发者的使用,往往用到虚拟机,这篇博客来讲讲VMware的…

Ubuntu操作-09 快捷键

文章目录 1 系统快捷键2 终端快捷键3 Gedit编辑器快捷键 Ubuntu快捷键介绍,已在Ubuntu21.10测试 1 系统快捷键 命令说明Ctrl Alt Fn1进入图形化用户登录界面Ctrl Alt Fn2进入当前图形化界面Ctrl Alt Fn3-Fn6进入命令行虚拟终端Ctrl Alt Fn7-Fn12进入另外的…

不可不知的ubuntu系统快捷键

软硬件环境 ubuntu 19.10 64bit Desktop 前言 ubuntu是当前最流行的linux发行版之一,使用ubuntu除了经常使用的Ctrlc (复制) 和Ctrlv (粘帖),其实还有一些不常用但却很有用的快捷键,熟练掌握常用快捷键绝对可以大大提升你的工作学习效率。文中…

ubuntu系统的快捷键,软件等配置

最近要完全使用ubuntu桌面系统了,很多在win 上的快捷键和软件都无法使用了,这里打算总结一下。 文章目录 1 常用快捷键2 常用配置调整左侧状态栏的顺序截图火狐禁止通知键盘快捷键设置DNS修改默认打开程序vs code 终端间距太大 3 常用软件安装meshlabana…

ubuntu的快捷键

1.一起按AltTab,在应用间顺向一览窗口,AltTabShift是逆向预览窗口。先打开终端,后打开文本编辑器,是下面这个样子。 一起按AltTab之后就会变成下面这样子 2.AltF2是打开命令窗口,可输入命令启动应用程序。一起按AltF2之后变成下面这样子,还可…

ubuntu系统快捷键

Ubuntu 16.04常用快捷键(转) 注意:在Linux下Win键就是Super键 启动器 Win(长按) 打开启动器,显示快捷键Win Tab 通过启动器切换应用程序Win 1到9 与点击启动器上的图标效果一样Win Shift 1到9 在应用中打开一个新窗口Win T 打…

Ubuntu快捷键、Ubuntu终端常用命令

Ubuntu快捷键、Ubuntu终端常用命令 作为一个window多年忠实粉,后来转去做自动驾驶不得已选用Ubuntu系统,系统需要劳烦同事帮忙装,装好后win10+ubuntu18.04双系统,开机登录ubuntu后一开始真的一脸蒙,啥都不…

14个你必须要知道的ubuntu快捷键

文章目录 1、 Super 键:打开活动搜索界面2、 CtrlAltT:打开 Ubuntu 终端窗口3、 SuperL 或 CtrlAltL:锁屏4、 SuperD or CtrlAltD:显示桌面5、 SuperA:显示应用程序菜单6、 SuperTab 或 AltTab:在运行中的应…

Ubuntu 16.04常用快捷键(转)

注意:在Linux下Win键就是Super键 启动器 Win(长按) 打开启动器,显示快捷键Win Tab 通过启动器切换应用程序Win 1到9 与点击启动器上的图标效果一样Win Shift 1到9 在应用中打开一个新窗口Win T 打开垃圾桶 面板 Win(轻触点击) 打开dash主页Win A 打…

Ubuntu常用快捷键

一、 打开Terminal的快捷键是CtrlAltT 二、 中止运行CtrlC 一般最常用的是cd, ls, mkdir, rmdir, cp, rm, mv, clear, pwd, shutdown. 一般使用时只需记住常用命令,不清楚的时候用man查询。如需查看更多命令可以阅读《The Linux Command Line》(《Linux命令行大全…

excel设置行高和列宽

excel设置行高和列宽 1、CtrlA:全选 2、

DataGridView设置行高

DataGridView设置行高 DataGridView绑定数据源后修改行高的方法。 解决方案

Python 技术篇-使用xlwt库操作excel设置行高不生效问题解决方法

默认行高是和文字的高度进行匹配的,即 height_mismatch 的值是 False,这就导致了我们设置行高不会生效,我们要做的就是在设置某一行的高度之前,先把这个属性的值改为 True 就好了。 sheets.row("行索引").height_misma…

excel设置行高等于列宽_如何在Excel中设置行高和列宽

excel设置行高等于列宽 By default, when you create a new workbook in Excel, the row height and column width is always the same for all cells. However, you can easily change the height and width for one or more rows and columns. 默认情况下,当您在Excel中创建…

html怎样设置行高,HTML行高怎么设置

2 回答 2021-01-30 浏览:42 分类:网页设计 回答: 需要准备的材料分别有:电脑、浏览器、html编辑器。 1、首先,打开html编辑器,新建html文件,例如:index.html,编写问题基础代码。 2、在index.html中的标签中,输入样式代码:style="height:100px"。 3、浏览器…