python pyinstaller打包exe程序_python

pyinstaller打包记录

这里使用pyinstaller打包有opencv,pandas依赖的程序,在打包时遇到的问题。

问题1

recursion is detected during loading of “cv2” binary extensions. Check OpenCV installation.

这个问题原因是由于pyinstaller版本与python-opencv版本不兼容所致。

问题1出现环境及包版本

python 3.10.4
numpy                     1.23.2
opencv-python             4.6.0.66
pandas                    1.5.0
pip                       23.0.1
PyAutoGUI                 0.9.53
pyinstaller               5.3

问题2

打包成exe运行时,窗口提示加载cv2模块失败

import cv2,calendar

ImportError: DLL load failed: 内存位置访问无效。

这个问题原因是cv2模块中缺少些dll文件或者其他原因,在重复执行pyinstaller -F xx.py 时有时能够打包成功。

卸载重新安装opencv或者重新搭建一个虚拟环境。

问题2出现环境及包版本

python 3.7.9
numpy                     1.21.6
opencv-python             4.7.0.68
opencv-python-headless    4.7.0.68
pandas                    1.3.5
pip                       23.0
PyAutoGUI                 0.9.53
pyinstaller               5.7.0