Задать вопрос
@NeZabuduTebya

Есть решение сборки Python в Exe с библиотекой Opencv?

Добрый день!

Я собрал OpenCV с поддержкой GStreamer на Windows 10 и завершил бета-версию приложения. Когда я начал собирать проект в exe в один файл (так требует заказчик), столкнулся с проблемой загрузки DLL.

Хотя я добавил пути к DLL OpenCV и GStreamer в системные переменные, и даже скопировал все необходимые DLL из папки build OpenCV в отдельную папку для удобного развёртывания, при запуске exe всё равно возникает ошибка:

Traceback (most recent call last):
  File "main.py", line 3, in <module>
  File "C:\Users\27C6~1\AppData\Local\Temp\_MEI219682\cv2\__init__.py", line 182, in <module>
    bootstrap()
  File "C:\Users\27C6~1\AppData\Local\Temp\_MEI219682\cv2\__init__.py", line 154, in bootstrap
    native_module = importlib.import_module("cv2")
  File "importlib\__init__.py", line 126, in import_module
ImportError: DLL load failed while importing cv2: Произошел сбой в программе инициализации библиотеки динамической компоновки (DLL).
[PYI-23564:ERROR] Failed to execute script 'main' due to unhandled exception!


Система видит переменные PATH правильно, что подтверждается выводом OpenCV loader при запуске exe:

OpenCV loader: PYTHON_EXTENSIONS_PATHS=['D:\\test_open\\lib\\python3\\Release']
OpenCV loader: BINARIES_PATHS=['D:\\test_open\\Release', 'D:\\test_open\\bin']


Версия OpenCV: 4.13.0-dev

Отмечу, что при запуске приложения через Python напрямую проблем с загрузкой DLL нет — все работает корректно.
Использую PyInstaller - команда:
pyinstaller --noconfirm --onefile --console  --add-data "app;app" --add-data "venv\\lib\\site-packages\\cv2;cv2" main.py
  • Вопрос задан
  • 183 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы