pyinstaller打包paddleocr

最近在做一个图片水印识别的工具,使用的是paddleocr来完成的。

过程中遇到一个比较坑的点,正常流程打出来的包运行时报错, 但是直接执行py脚本又是没问题的。报错内容如下:

python 复制代码
RuntimeError: `OCR` requires additional dependencies. To install them, run `pip install "paddlex[ocr]==<PADDLEX_VERSION>"` if you're installing `paddlex` from an index, or `pip install -e "/path/to/PaddleX[ocr]"` if you're installing `paddlex` locally

最后在github上找到答案,这里做一下记录:

打包脚本如下:

python 复制代码
import subprocess
import os
import shutil
import sys

cmd = [
    r'C:\Python\python311\python.exe',
    '-m', 'PyInstaller',
    'main.py',  # 主脚本
    '--name', r'TestCheckImageWatermark',  # 工具名
    # '--onefile',  # 是否将包打成一个文件, 注释掉就是不打成一个文件
    # '--windowed',  # 是否开启调试窗口, 注释掉=开启

    '--collect-data', 'paddlex',
    '--copy-metadata', 'ftfy',
    '--copy-metadata', 'imagesize',
    '--copy-metadata', 'imagesize',
    '--copy-metadata', 'lxml',
    '--copy-metadata', 'opencv-contrib-python',
    '--copy-metadata', 'openpyxl',
    '--copy-metadata', 'premailer',
    '--copy-metadata', 'pyclipper',
    '--copy-metadata', 'pypdfium2',
    '--copy-metadata', 'scikit-learn',
    '--copy-metadata', 'shapely',
    '--copy-metadata', 'tokenizers',
    '--copy-metadata', 'einops',
    '--copy-metadata', 'jinja2',
    '--copy-metadata', 'regex',
    '--copy-metadata', 'tiktoken',
    '--add-binary', "C:\Python\python311\Lib\site-packages\paddle\libs;.",
    '--hidden-import', "scipy._cyutility",
    '--add-data', 'D:\pythonScripts\TestCheckImageWatermark\Configs;Configs',
    '-y',
]

subprocess.call(cmd)
相关推荐
棉猴26 分钟前
玩游戏学Python1-Python和pgzero库的安装
python·pygame·玩游戏·pgzero·pgzrun
诺伦1 小时前
GEO优化数据实证:78%引用流向官网的机制拆解与小品牌三步管线实战教程 | RiseClaw玄策
python·seo·geo·内容营销·ai搜索
oooost1 小时前
pytorch学习笔记1
python·学习方法
数字融合1 小时前
透明化视频孪生虚实映射一体化融合技术
人工智能·python·数码相机
jack186892 小时前
Lovable.Dev 全栈应用快速落地实战指南
python
华研前沿标杆游学2 小时前
【标杆研学】走进茅台集团|对标学习长期主义与匠心精神
python
GitFun3 小时前
KDJ vs RSI:11年数据实测,金叉死叉输了48个点
python·股票·量化交易
李可以量化3 小时前
从零读懂配对交易(上):从套利本源到配对交易的核心逻辑
python·区块链·量化交易·通达信·qmt
CCblandy3 小时前
HTTP 长连接 3 类故障实测:[WinError 10053]、99 个 TIME_WAIT、69 次多余握手,4 种对策怎么选
后端·python·网络协议·http·云原生·性能优化·架构
wangchunyu1143 小时前
Python 数据可视化实战入门教程
开发语言·python·信息可视化