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)
相关推荐
ybdesire11 小时前
Joern服务器启动后cpgqls-client结合python编程进行扫描
运维·服务器·python
autho11 小时前
conda
linux·python·conda
知乎的哥廷根数学学派12 小时前
基于注意力机制的多尺度脉冲神经网络旋转机械故障诊断(西储大学轴承数据,Pytorch)
人工智能·pytorch·python·深度学习·神经网络·机器学习
测试199812 小时前
用Postman测WebSocket接口
自动化测试·软件测试·python·websocket·测试工具·接口测试·postman
l1t12 小时前
数独优化求解C库tdoku-lib的使用
c语言·开发语言·python·算法·数独
小二·12 小时前
Python Web 开发进阶实战:微前端架构初探 —— 基于 Webpack Module Federation 的 Vue 微应用体系
前端·python·架构
rgeshfgreh12 小时前
回溯算法精解:排列、子集与组合
python·算法·深度优先
内存不泄露12 小时前
人脸识别考勤系统
ide·vue.js·python
曲幽13 小时前
FastAPI缓存提速实战:手把手教你用Redis为接口注入“记忆”
redis·python·cache·fastapi·web·asyncio
no245441013 小时前
RAGFlow 全面接入 MinerU 2.0,支持 pipeline、vlm-transformers、vlm-sglang 三种模式,解析精度大幅度up
java·大数据·人工智能·python·ai·sglang