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)
相关推荐
闲人编程14 小时前
Python设计模式实战:用Pythonic的方式实现单例、工厂模式
开发语言·python·单例模式·设计模式·工厂模式·codecapsule·pythonic
lang2015092815 小时前
Spring环境配置与属性管理完全指南
java·python·spring
懒惰蜗牛16 小时前
Day10:Python实现Excel自动汇总
python·numpy·pandas·pip·1024程序员节·python读写excel
我是华为OD~HR~栗栗呀16 小时前
华为od-22届考研-C++面经
java·前端·c++·python·华为od·华为·面试
m0_7482402516 小时前
华为OD机考:计算正方形数量(Python & C/C++ & JAVA & JS & GO)
c语言·python·华为od
我是华为OD~HR~栗栗呀16 小时前
华为OD, 测试面经
java·c++·python·华为od·华为·面试
我是华为OD~HR~栗栗呀18 小时前
华为OD-23届-测试面经
java·前端·c++·python·华为od·华为·面试
我是华为OD~HR~栗栗呀18 小时前
华为od面经-23届-Java面经
java·c语言·c++·python·华为od·华为·面试
程序员爱钓鱼21 小时前
Python编程实战 · 基础入门篇 | 元组(tuple)
后端·python·ipython
程序员爱钓鱼21 小时前
Python编程实战 · 基础入门篇 | 列表(list)
后端·python·ipython