У меня ситуация, очень похожая на ситуацию с ImportError: Ошибка загрузки DLL:% 1 не является допустимым приложением Win32 , но ответ там не работает.
Мой код Python говорит:
import cv2
Но эта строка вызывает ошибку, указанную в заголовке этого вопроса.
У меня установлен OpenCV C:\lib\opencv
на этой 64-битной машине. Я использую 64-битный Python.
Моя переменная PYTHONPATH: PYTHONPATH=C:\lib\opencv\build\python\2.7
. В этой папке находится cv2.pyd
и все.
Моя переменная PATH: Path=%OPENCV_DIR%\bin;...
эта папка содержит 39 файлов DLL, например opencv_core246d.dll
.
OPENCV_DIR имеет это значение: OPENCV_DIR=C:\lib\opencv\build\x64\vc11
.
Решение в ImportError: Ошибка загрузки DLL:% 1 не является допустимым приложением Win32, и говорит добавить «новый путь двоичных файлов opencv ( C:\opencv\build\bin\Release
) к переменной среды Windows PATH». Но, как показано выше, у меня уже есть папка двоичных файлов OpenCV ( C:\lib\opencv\build\x64\vc11\bin
) в моем PATH. И в моей установке OpenCV нет папок Release (кроме пустой в build / java).
Есть идеи относительно того, что не так? Могу ли я сказать Python, чтобы он подробно отслеживал процесс загрузки? Какую именно DLL он ищет?
Спасибо, Ларс
РЕДАКТИРОВАТЬ:
Я только что заметил, что, согласно http://www.dependencywalker.com/ , cv2.pyd
in C:\lib\opencv\build\python\2.7
является 32-битным, тогда как машина и Python, на которых я работаю, являются 64-битными. Может ли это быть проблема? И если да, то где мне найти 64-битную версию cv2.pyd?
PYTHONPATH
использовал записи, которые оставила там установка библиотеки SimpleCV. Несмотря на то, что я уже удалил SimpleCV,PYTHONPATH
он не был восстановлен и указывал на некоторые каталоги с конфликтующими версиями OpenCV, оставленными установкой SimpleCV. Решение: очиститьPYTHONPATH
.Ответы:
Неофициальные двоичные файлы Windows для пакетов расширения Python
вы можете найти любые библиотеки Python здесь
источник
Пожалуйста, проверьте, является ли используемая вами версия python также 64-битной. Если нет, то это может быть проблемой. Вы бы использовали 32-битную версию Python и установили бы 64-битные двоичные файлы для библиотеки OPENCV.
источник
Вау, я нашел еще один случай этой проблемы. Ничего из вышеперечисленного не помогло. В конце концов, я использовал способность Python анализировать то, что загружается. Для python 2.7 это означает:
Это привело к появлению совершенно неожиданного файла «cv2.pyd» в каталоге DLL Anaconda, который не был затронут несколькими попытками удаления / установки. Python сначала искал там и не нашел мою хорошую установку. Я удалил этот файл cv2.pyd и снова попробовал imp.find_module ("cv2"), и python сразу нашел нужный файл, и cv2 начал работать.
Поэтому, если ни одно из других решений у вас не работает, убедитесь, что вы используете самоанализ Python, чтобы узнать, какой файл пытается загрузить Python.
источник
В моем случае у меня 64-битный питон, и это был lxml, который был неправильной версией - я должен был использовать его версию x64. Я решил это, загрузив 64-битную версию lxml здесь:
https://pypi.python.org/pypi/lxml/3.4.1
Это был самый простой ответ на неприятную проблему.
источник
У меня просто была эта проблема, оказывается, это было просто потому, что я использовал x64-версию файла opencv. Пробовал x86, и он работал.
источник
Если ваша система сборки (в моем случае CMake) копирует файл из
<name>.dll
в<name>.pyd
, вы получите эту ошибку, если исходный файл на самом деле не был dll. В моем случае создание общих библиотек было отключено, поэтому базовый файл был фактически*.lib
.Я обнаружил эту ошибку, загрузив
pyd
файл в DependencyWalker и обнаружив, что он недействителен.источник
У меня такая же проблема. Вот что я сделал:
Я скачал pywin32 Wheel файл из здесь , то
Я удалил модуль pywin32 . Чтобы удалить, выполните следующую команду в командной строке.
pip uninstall pywin32
Затем я переустановил pywin32 . Чтобы установить его, откройте командную строку в том же каталоге, где находится файл колеса pywin32. Затем выполните следующую команду.
pip install <Name of the wheel file with extension>
Файл колеса будет иметь вид: piwin32-XXX-cpXX-none-win32.whlДля меня это решает проблему. Вы также можете попробовать. Надеюсь, это сработает и для вас.
источник
Я скопировал
cv2.pyd
файл из/opencv/build/python/2.7/x86
папки, а не из/x64
папки вC:/Python27/Lib/site-packeges
. Я выполнил остальные инструкции, представленные здесь .Добавлено кем-то другим, не проверено: я также копирую файл
cv2.pyd
в папкуC:/Python27/Lib/site-packages/cv2
. Оно работает.источник
Для меня проблема заключалась в том, что я использовал разные версии Python в одном проекте Eclipse. Моя установка не соответствовала версиям Python « Свойства проекта» и « Выполнить конфигурацию» .
В Project> Properties> PyDev я установил интерпретатор на Python2.7.11.
В « Конфигурации запуска»> «Интерпретатор» я использовал Интерпретатор по умолчанию. Изменение его на Python 2.7.11 устранило проблему.
источник
Я столкнулся с той же проблемой, когда удалил и переустановил другую версию 2.7.x Python в своей системе с помощью 32-разрядного установщика Windows. У меня такая же ошибка в большинстве моих операторов импорта. Я удалил только что установленный Python, загрузил 64-битный установщик Windows и снова переустановил Python, и он сработал. Надеюсь, это тебе поможет.
источник
Итак, у меня возникли проблемы с установкой vtk под Windows (поскольку я использую python 3.7, пока нет доступных двоичных файлов, только для более старых версий python pip install vtk не работает)
Я написал python в своем cmd:
Python 3.7.3 on win32
Итак, теперь я знаю, что у меня есть python 3.7.3, работающий на 32-разрядной версии.
Затем я загрузил нужное колесо с VTK ‑ 8.2.0 ‑ cp37 ‑ cp37m ‑ win32.whl
Затем я установил это колесо:
Потом протестировал, и все заработало:
источник
Обновите numpy.
pip install numpy --upgrade
Работай на меня !!
источник
Сначала я скопировал
cv2.pyd
из/opencv/build/python/2.7/x86
вC:/Python27/Lib/site-packeges
. Ошибка былаЗатем я установил,
numpy-1.8.0-win32-superpack-python2.7.exe
и opencv работает нормально.источник
Устанавливать можно
opencv
с официальных или неофициальных сайтов.Обратитесь к этому вопросу и этой проблеме, если вы используете
Anaconda
.источник
источник
У него очень простое решение. После установки
opencv
местоcv2.pyd
отC:\opencv\build\python\2.7\ **x64**
доC:\Python27\Lib\site-packages
вместо, место
cv2.pyd
отC:\opencv\build\python\2.7\ **x86**
доC:\Python27\Lib\site-packages
источник
Я получил эту ошибку при попытке импортировать MySQLdb.
Для меня сработало удаление Python, а затем его повторная установка.
Я получил ошибку после установки npm ( https://www.npmjs.com/get-npm ). Единственное, что он сделал, - это установил Python, хотя он у меня уже был.
источник
Это сработало для меня. Я пробовал разные методы, но это было моим лучшим решением.
Откройте командную строку и введите следующее:
pip install opencv-python
. (убедитесь, что ваш интернет включен). после этого попробуйте импортировать его снова.источник
Этот работал со мной
источник
Я нашел решение, возможно, вы можете попробовать использовать окно cmd, а не окно подсказки anaconda, чтобы начать первый тест scrapy.
источник