Не могу импортировать cv2; "Ошибка загрузки DLL"

Я действительно не хотел начинать свой собственный вопрос с этого, потому что это, кажется, распространенная ошибка здесь. Однако, потратив на это сейчас часы и пройдя все темы, которые я смог найти, ни один из приведенных ответов не помог мне.

Таким образом, мой единственный вариант - предоставить всю информацию, которую я могу о моей настройке, и надеяться, что кто-то из вас сможет распознать проблему.

Я работаю на Windows 10(x64) и установил следующие готовые двоичные файлы из коллекции здесь.

  1. python 3.5.0-win32 (устанавливается с сайта python)
  2. numpy 1.10-cp35-win32
  3. matplotlib 1.4.3-cp35-win32
  4. opencv 3.0.0-cp35-win32

Все было установлено с использованием "pip install file_name.whl" без сообщений об ошибках. Однако разница в открытом cv не будет импортироваться, и я получаю следующую ошибку:

>>> import cv2
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 4.5.4\helpers\pydev\pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
ImportError: DLL load failed: The specified module could not be found.

cv2.cp35-win32.pyd плюс множество .dll- файлов установлены в C:\Python35\Lib\site-packages

Я попытался переименовать cv2.cp35-win32.pyd в cv2.pyd и скопировать файлы .dll в C:\Python35\DLLs

Я попытался использовать другой пакет python opencv, скачанный с сайта, добавив каталог bin в мою среду PATH и переместив файл cv2.pyd в C:\Python35\Lib\site-packages

Одна и та же ошибка появляется каждый раз. Любая помощь будет оценена!

6 ответов

Решение

В моей ситуации при использовании Pycharm для импорта cv2 он возвращал ImportError: DLL not found. Однако, используя python intepreter для импорта, я получил *ImportError: ... а не DLL-библиотеку win32... *. Таким образом, в этой ситуации мне пришлось скачать пакет распространения Visual C++ 2015 и проблема была решена.

Поэтому всем, кто сталкивается с той же ошибкой, убедитесь, что у вас есть пакет распространения VC++, который использовался для компиляции DLL, упакованной вдоль модуля.

У меня была ошибка с Python 3.4 и opencv-python 3.3 на Windows 10. В моем случае проблема была из-за моего дистрибутива Anaconda. Я решил это с помощью решения со страницы проекта opencv-python, которая указывает на эту проблему github.

Проблема отсутствует python3.dll в распределении анаконды. Вы можете скачать двоичные файлы Python здесь и извлечь dll из zip-архива. Поместите его в папку в вашем PATH (например, C:\Users\MyName\Anaconda3), и импорт должен работать.

Это сработало для меня:

pip install opencv-contrib-python

(Работает Python 3.6.3 - 32 бита, в Windows 7 - 64 бита)

Я решил это, добавив путь к opencv DLL в переменную окружения PATH

Итак, у меня все работает, полностью удалив все и начав с Python 2.7.10.

Он просто не работает с Python 3. Для ясности в том, что я сделал, я следил за этими двумя видео в том порядке, в котором я их публикую:

Как установить opencv + зависимости

Как настроить переменную пути

У меня была такая же проблема с Windows 10 Professionnal N, и я решил ее, просто установив Media Feature Pack (и перезапустив Windows после установки).

Редакции Windows N и KN не включают Media Feature Pack, который требуется OpenCV. Если вы используете версию Windows N или KN, установите также Windows Media Feature Pack.

С https://github.com/skvark/opencv-python

Мне удалось решить проблему, удалив все распространяемые пакеты Visual C++ до 2008 года, а затем установив распространяемые пакеты Visual C++ для VS 2015. Объяснение здесь: http://answers.opencv.org/question/74384/opencv-python-30-with-python-35-on-windows/

Другие вопросы по тегам