Не могу импортировать cv2; "Ошибка загрузки DLL"
Я действительно не хотел начинать свой собственный вопрос с этого, потому что это, кажется, распространенная ошибка здесь. Однако, потратив на это сейчас часы и пройдя все темы, которые я смог найти, ни один из приведенных ответов не помог мне.
Таким образом, мой единственный вариант - предоставить всю информацию, которую я могу о моей настройке, и надеяться, что кто-то из вас сможет распознать проблему.
Я работаю на Windows 10(x64) и установил следующие готовые двоичные файлы из коллекции здесь.
- python 3.5.0-win32 (устанавливается с сайта python)
- numpy 1.10-cp35-win32
- matplotlib 1.4.3-cp35-win32
- 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. Для ясности в том, что я сделал, я следил за этими двумя видео в том порядке, в котором я их публикую:
У меня была такая же проблема с Windows 10 Professionnal N, и я решил ее, просто установив Media Feature Pack (и перезапустив Windows после установки).
Редакции Windows N и KN не включают Media Feature Pack, который требуется OpenCV. Если вы используете версию Windows N или KN, установите также Windows Media Feature Pack.
Мне удалось решить проблему, удалив все распространяемые пакеты Visual C++ до 2008 года, а затем установив распространяемые пакеты Visual C++ для VS 2015. Объяснение здесь: http://answers.opencv.org/question/74384/opencv-python-30-with-python-35-on-windows/