一、首先进入虚拟环境 使用pip安装pyinstaller pip install pyinstaller我的已经安装完成
二、用cmd进入当前打包文件夹下,新建使spec文件内容如下
注意:其中需要修改的部分是pathex中文件所在路径
文件内容摘抄自另一篇博文(❄点击可查看❄)
# -*- mode: python ; coding: utf-8 -*- a = Analysis( ['testsu49.py'], pathex=['C:/Users/Administrator/miniconda3/envs/yolov8/Lib/site-packages/paddleocr' , 'C:/Users/Administrator/miniconda3/envs/yolov8/Lib/site-packages/paddle/libs'], binaries=[('C:/Users/Administrator/miniconda3/envs/yolov8/Lib/site-packages/paddle/libs', '.')], datas=[], hiddenimports=[], hookspath=[], hooksconfig={}, runtime_hooks=[], excludes=[], noarchive=False, optimize=0, ) pyz = PYZ(a.pure) exe = EXE( pyz, a.scripts, [], exclude_binaries=True, name='testsu49', debug=False, bootloader_ignore_signals=False, strip=False, upx=True, console=False, disable_windowed_traceback=False, argv_emulation=False, target_arch=None, codesign_identity=None, entitlements_file=None, ) coll = COLLECT( exe, a.binaries, a.datas, strip=False, upx=True, upx_exclude=[], name='testsu49', ) 三、输入pyinstaller testsu49.spec就完成了。产生上图两个文件夹,build与 dist
四、运行testsu49.exe.会出现下面的错误由上图已知,缺少defaut.yaml 文件,我们需要 从下面获取因为打包过程中,没能把ultralytics库导进来,所以我们把ultralytics文件夹复制到
五、继续运行testsu49.exe,又出现了
这是由于paddleocr 没有导入进来。把 tools与 ppocr复制到 _internal里面,正常运行。