python opencv pyinstaller踩坑日记

前两天在B站看到一个基于opencv实时更换人像背景的视频,想到了腾讯会议里面的虚拟背景,想着蛮有意思的,试试看,正好之前搭的有python的环境装的有pycharm,就跟着敲了一遍。
在这里插入图片描述
代码也不多,搞好后直接跑了一下,效果感觉没视频中的好,本来想着打包成exe发给朋友看一下来着,坑就来了。
1.首先声明我是python小白哈,一查,打包exe都是pyinstaller,那就pip install一个然后就直接打包了,
结果一直报错no module named cvzone等等,然后就查怎么解决嘛,又是spec文件隐式导入又是啥的,最后才知道我虚拟环境没开。。。。。。pyinstaller用的是全局环境的。
激活方式是在pycharm的cmd终端中进入到你项目目录下的venv目录下的script,然后输入“activate”命令,然后回车,成功后就像我这样头部有个(venv)
在这里插入图片描述
2.在venv环境中执行pyinstaller命令,发现打包出来的exe运行仍然报错
在这里插入图片描述
起初以为是测试用的图片文件夹路径问题,在哪相对路径、绝对路径、真实路径测啊测,发现错误依旧,折腾了两天,开始觉得不对劲了,看这个提示行数一行行的找过去,定位到了solution_base.py的254行,怀疑是这个binary_graph_path没找到。
在这里插入图片描述
我print一下,发现是指向的venv的sitepackage下面一个用到的包里面的东西。
在这里插入图片描述
然后我回去看了一下打包后的这个mediapipe文件夹,发现它下面只有一个python文件夹
在这里插入图片描述
索性,我就抱着试一试的心态,把venv的sitepackage下面mediapipe文件夹下的modules文件夹全给拷贝到这,双击exe运行,成功!!!!

总结:这次之所以搞那么久,一个是对python不熟悉,另外就是出错后第一个反应是自己的脚本有问题,就没怀疑第三方包,想着第三方包都这么成熟了应该不会出现这种问题。其实还猜测是不是pyinstaller有问题,为什么用到的东西没打包进去呢,不过也没法求证。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

带酒书生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值