【问题标题】:PyInstaller and EasyOCRPyInstaller 和 EasyOCR
【发布时间】:2022-07-11 12:58:17
【问题描述】:

我有一个包含 easyocr 的 ocr gui 应用程序。当我从 pyCharm 运行项目时,它可以正常工作。但是,当我使用 pyinstaller 将项目构建为 exe 形式时,其他 ocr 算法可以工作,但 easyOCR 会终止而没有显示任何错误。

python -m PyInstaller --paths "fullpath-to-custom-libraries" --add-data "C:\Program Files\Tesseract-OCR;Tesseract-OCR" --collect-all easyocr --onedir -w main.py

PyInstaller 命令后出现以下警告消息:

13048 INFO: Determining a mapping of distributions to packages...
40136 WARNING: Unable to find package for requirement opencv-python-headless from package easyocr.
40136 WARNING: Unable to find package for requirement Pillow from package easyocr.
40137 WARNING: Unable to find package for requirement scikit-image from package easyocr.
40137 WARNING: Unable to find package for requirement python-bidi from package easyocr.
40137 WARNING: Unable to find package for requirement PyYAML from package easyocr.
40137 INFO: Packages required by easyocr:
['torch', 'torchvision', 'scipy', 'numpy']

EXE 文件生成成功。但是,当我分发捆绑包时,应用程序在 easyOCR 操作中没有任何错误终止。 OCR 的其他工作。

我注意到在“venv”环境下,dist info 文件夹名称和库文件夹名称不同。我安装了许多其他软件包。但是,它们的 library 和 dist info 文件夹名称是相同的。这会导致 PyInstaller 中的警告吗?

cv2
opencv_python_headless-4.5.1.48.dist-info
PIL
Pillow-8.2.0.dist-info
skimage
scikit_image-0.19.2.dist-info
bidi
python_bidi-0.4.2.dist-info
yaml
PyYAML-6.0.dist-info

我无法将 easyOCR 传递给 PyInstaller。那么如何正确添加easyOCR所需的库呢?

【问题讨论】:

    标签: python opencv python-imaging-library pyinstaller easyocr


    【解决方案1】:

    EasyOCR 至少需要 1 个通常位于模块目录 (easyocr\character) 中的文本文件。 为了确保它从模块中获取所有文件,请在您的 pyinstaller 命令行中包含以下命令:--collect-all easyocr

    这可能是多余的(最多 200M 额外),但我没有时间隔离所需的最小文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-17
      • 2015-12-09
      • 2014-03-28
      • 2015-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-14
      相关资源
      最近更新 更多