ModuleNotFoundError: No module named ‘mmcv._ext‘

简介: 最近想将mmsegmentation打包成exe进行使用,但是遇到了一个问题,在打包的过程中不会显示报错信息,但是在执行exe程序之后,exe会出现ModuleNotFoundError: No module named 'mmcv._ext'的报错,导致软件崩溃。

mmsegmentation使用pyinstaller打包出现问题


mmsegmentation是商汤开源的语义分割框架,里面包含了大量SOTA模型,十分适合从事语义分割工作的小白学习。


最近想将mmsegmentation打包成exe进行使用,但是遇到了一个问题,在打包的过程中不会显示报错信息,但是在执行exe程序之后,exe会出现ModuleNotFoundError: No module named 'mmcv._ext'的报错,导致软件崩溃。


ccc425453f434509bc31e9318dbf4db2.png


首先,可以查看第三方库是不是安装错误,可以参考mmcv安装博客。如果环境没有安装错误则继续往下看。


其次,为了排除这个报错信息,我们先从mmcv库中找到_ext文件或者属性,果不其然,寻找一遍后并没有发现这个东西在哪?难道这个问题没法解决?


最后,在mmsegmentation的github主页寻找类似的报错信息和类似提问,果不其然,也有人想将其进行打包使用,出现了一样的问题,点击转向Github原问题解释。里面有一个人解决了这个问题,就是使用pyinstaller屏蔽了这个第三方库的导入,打包之后就可以正常运行。


b0ff1e33c09f416b8a146df7eec9a5e8.png


所以最后的打包命令为,将your_python_file改成你文件的名字:


pyinstaller -F --hidden-import=mmcv._ext your_python_file.py


亲自试验过,打包之后还是可以正常使用GPU进行加速计算。


pyinstaller类似情况也可以按照这种方法进行处理,但不一定可以解决问题,但也提供了一种解决问题的思路。


如shapely这个第三方包也出现了这个问题:


a90dcaa2892140bf8024fb7e6f41b6b8.png


则在打包的时候添加一个--hidden-import=shapely._geos则可以避免这个问题。

目录
相关文章
|
7月前
|
Linux iOS开发 MacOS
【已解决】ModuleNotFoundError: No module named ‘IPython‘
【已解决】ModuleNotFoundError: No module named ‘IPython‘
|
7月前
|
Linux iOS开发 MacOS
[已解决]ModuleNotFoundError: No module named ‘tqdm‘
[已解决]ModuleNotFoundError: No module named ‘tqdm‘
Py3 ModuleNotFoundError: No module named ‘Crypto‘;ModuleNotFoundError: No module named Cryptodome‘
Py3 ModuleNotFoundError: No module named ‘Crypto‘;ModuleNotFoundError: No module named Cryptodome‘
101 0
|
7月前
|
Python
ModuleNotFoundError: No module named ‘IPython‘
ModuleNotFoundError: No module named ‘IPython‘
155 0
|
Python
spyder下报错ModuleNotFoundError: No module named
spyder下报错ModuleNotFoundError: No module named
425 0
ModuleNotFoundError: No module named ‘conda‘
ModuleNotFoundError: No module named ‘conda‘
|
Python
ModuleNotFoundError: No module named ‘pyexpat‘
ModuleNotFoundError: No module named ‘pyexpat‘
231 0
|
Python
ModuleNotFoundError: No module named ‘paramiko‘ 和ModuleNotFoundError: No module named ‘scp‘解决办法
ModuleNotFoundError: No module named ‘paramiko‘ 和ModuleNotFoundError: No module named ‘scp‘解决办法
647 0
ModuleNotFoundError: No module named ‘paramiko‘ 和ModuleNotFoundError: No module named ‘scp‘解决办法
|
机器学习/深度学习 算法 安全
解决ModuleNotFoundError: No module named ‘dlib‘问题-提供3.7x与3.9两个版本
解决ModuleNotFoundError: No module named ‘dlib‘问题-提供3.7x与3.9两个版本
1178 0
解决ModuleNotFoundError: No module named ‘dlib‘问题-提供3.7x与3.9两个版本
|
Linux API Android开发
解决ModuleNotFoundError: No module named ‘cv2‘问题
解决ModuleNotFoundError: No module named ‘cv2‘问题
8767 0
解决ModuleNotFoundError: No module named ‘cv2‘问题