pyinstaller打包Mediapipe时遇到的问题

376 阅读1分钟

使用pyinstaller对python文件打包

打包流程

安装pyinstaller

pip install pyinstaller

打包文件

pyinstaller test.py 

打包完成后会生成一个dist文件夹,打包的文件会在里面,找到test.exe。

pyinstaller -F test.py 

加上-F会把所有的文件打包成一个exe,也是在dist文件夹下。

打包遇到的问题

写了一段关于Mediapipe的程序,定义为Pose.py,这里我使用 下面的命令打包

pyinstaller Pose.py 

打包完成后,运行exe文件,发现遇到下面的问题

在这里插入图片描述

这里有两个错误提示: 1、wudao.flv没有找到,这是我找的一段跳舞视频,使用mediapipe进行动捕 2、路径没有找到

至于第一个错误好改,找到wudao.flv放到打包的文件夹下,这里我的是Pose文件夹。

第二个错误需要找到为什么路径不存在 根据错误提示找到mediapipe库下的solution_base.py文件,定位到266行,如下图,

在这里插入图片描述 根据上面报错信息,是路径不存在,说明找不到文件,那么我们打印一下看看是什么路径的文件 加入程序

   print("path:binary_graph_path=%s" % (binary_graph_path))

我们尝试把binary_graph_path路径打印出来,看看它指向的是哪个文件 在这里插入图片描述 运行程序,可看到路径指向的是mediapipe下的modules文件下的文件 在这里插入图片描述 我们找到mediapipe下的modules文件夹 啦啦啦 既然这个没打包进去,那么我们手动把这个文件包放到Pose-->mediapipe文件夹下,那么我们把modules文件夹拷贝进去,如图所示

在这里插入图片描述 再次运行Pose.exe没有报错了,可以正常捕捉到数据 在这里插入图片描述