Как включить OpenCV в pyinstaller, когда opencv установлен из исходного кода?

Я установил OpenCV 4.1 в Jetson Nano из исходного кода. Он отлично работает, когда я запускаю свой код python3. После компиляции кода Python с помощью pyinstaller выдает ImportError.

ImportError: OpenCV loader: missing configuration file: ['config.py']. Check OpenCV installation.

Как скомпилировать код Python с помощью PyInstaller, чтобы включить OpenCV? Есть ли другой способ установить OpenCV? Я пробовал pip3 install opencv-python, но он не находит подходящего дистрибутива, и если я устанавливаю с помощью sudo apt-get install python3-opencv, он устанавливает более старую версию. Любая помощь будет полезна.

Я также следил за этой темой, но она не работает, когда OpenCV скомпилирован из исходного кода...


person Krunal Sonparate    schedule 05.12.2019    source источник
comment
Попробуйте pip install opencv-contrib-python   -  person coffeewin    schedule 05.12.2019
comment
@coffeewin Спасибо за комментарий, попробовал, но все равно не повезло, ошибка. Не найдено подходящего дистрибутива для opencv-contrib-python.   -  person Krunal Sonparate    schedule 05.12.2019


Ответы (1)


После долгих отладок я нашел следующее решение:
Python 3.6
OpenCV 4.1 (скомпилировано из исходников)
pyinstaller 3.5

1. Получите путь к OpenCV

import cv2
print(cv2.__file__) # /usr/local/lib/python3.6/dist-packages/cv2/python-3.6/cv2.so

2. Добавьте этот путь при компиляции через pyinstaller

pyinstaller main.py -n myApp --paths="/usr/local/lib/python3.6/dist-packages/cv2/python-3.6"

Я надеюсь, что это поможет и другим

person Krunal Sonparate    schedule 10.12.2019