py程序打包为exe的问题

问题遇到的现象和发生背景

python程序用pyinstaller打包成exe后无法运行

问题相关代码,请勿粘贴截图

程序是c站一个博主做的用opencv库实现自动识别按纽并点击的程序

运行结果及报错内容

代码链接:https://blog.csdn.net/a71468293a/article/details/121251007?ops_request_misc=&request_id=&biz_id=102&utm_term=py%20%E8%87%AA%E5%8A%A8%E7%82%B9%E5%87%BB&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-3-121251007.142^v31^pc_rank_34,185^v2^control&spm=1018.2226.3001.4449
程序在本地正常,打包后运行无效,cmd内提示说opencv库版本问题,也可能是pyinstaller和opencv的兼容问题,不太清楚哪两个版本可以用
py版本3.10.2 pip版本22.1.2 opencv

我的解答思路和尝试过的方法

试了几个opencv的老版本都不行

我想要达到的结果

打包这个程序,使其在其他电脑上不用安装py和依赖就能运行,告知一下用哪个版本的opencv打包不会有问题,能手把手指导打包的话更加感谢!

因为你编代码的时候,库位置是添加进IDE里的
而你打包成exe之后,dll的位置并没有添加进环境变量
所以程序找不到dll了
如果是纯py的引用,这些源码会被直接打包进exe里
但是一旦涉及到外部dll,要么你把dll拷贝进打包好的目录里,要么把dll所在文件夹设置为环境变量

安装opencv库参考:https://blog.csdn.net/nanke_yh/article/details/117173099

exe打包参考:https://blog.csdn.net/nanke_yh/article/details/120811243
使用Pyinstaller -F py_word.py 打包exe把控制台暴露出来可以查看它exe运行报错信息的。

需要将相关库安装在将要打包exe的运行环境下(因为有的人会创建多个环境来防止打包文件过大)。如果没有进入独立环境,那么检查pip安装的opencv库吧,版本一般不是问题呀,可以自己选择官网最新的包安装即可,在线升级更新一下。

放一下报错截图看看,https://blog.csdn.net/qq_41692884/article/details/125067580

Python import搜索的路径顺序
https://blog.csdn.net/csdn912021874/article/details/83017425
python import 本质剖析
https://wutongshenyuan.blog.csdn.net/article/details/78965870

可以看看我的文档

关于该问题,我找了一篇非常好的博客,你可以看看是否有帮助,链接:把py转化成exe(干货)

我以前打包torch的时候也遇到一堆问题,https://blog.csdn.net/qq_52785473/article/details/122551374我我遇到的一些问题和解决方法在这文章里写了,希望对你有帮助

python生成带有调用第三方库的exe可执行文件_起个名字都难啊的博客-CSDN博客_python打包exe 带第三方库 python代码生成exe的工具有多种,以pyinstaller为例:python代码中含有第三方库,比如opencv时,需要指定库的路径,这会使pyinstaller将库打包进生成的exe中,否则运行exe时会出现缺少xxx库。指令:pyinstaller -F -w -i skull.ico -p "D:\install file\python3.7.9\Lib\site-packages" test22.py参数 含义-F 指定打包后只生成一个exe格式的文件-D 创建一个目 https://blog.csdn.net/weixin_42408280/article/details/121777849?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1-121777849-blog-120811243.pc_relevant_aa2&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1-121777849-blog-120811243.pc_relevant_aa2&utm_relevant_index=1