python - mac - Error al cargar la DLL al importar cv2
install opencv python mac (19)
He instalado opencv en mi máquina Windows usando Python 3.6 sin ningún problema, usando:
pip install opencv-python
pero cuando trato de importar cv2 me sale el siguiente error
ImportError: DLL load failed: The specified module could not be found.
He visto esta publicación
Dice que cv2 no funciona con python 3 Me preguntaba si esto se ha solucionado o si hay alguna forma de evitarlo
¡Tomé mucho tiempo para resolver este error! Ejecutar comando
pip install opencv-contrib-python
(base) C: / WINDOWS / system32> conda install C: / Users / Todd / Downloads / opencv3-3.1.0-py35_0.tar.bz2
Ejecuté este comando desde el terminal anaconda después de descargar la versión de https://anaconda.org/menpo/opencv3/files
Esta es la única forma en que pude hacer funcionar cv2 y probé todo durante dos días.
Después de pasar demasiado tiempo en este problema y probar todas las respuestas diferentes, esto es lo que encontró:
-
La respuesta aceptada por @thewaywewere ya no es aplicable. Creo que esto era aplicable cuando el módulo opencv-python todavía no estaba disponible.
-
Esto es realmente un error en Anaconda 4.2 porque olvidaron enviar python3.dll. Han solucionado esto en las próximas versiones, pero desafortunadamente 4.2 es la última versión con Python 3.5 por defecto. Si está atascado con Python 3.5 (por ejemplo, VS2015 solo conoce versiones de hasta 3.5), debe descargar manualmente python3.dll como se describe en la respuesta de @ Ramesh-X.
-
Si puede pasar a Python 3.6 (que actualmente es un poco difícil si está utilizando OpenCV y VS2015), simplemente instale la última versión de Anaconda y no tendrá que lidiar con ninguno de estos.
El problema se debe al archivo
python3.dll
falta en Anaconda3.
Para solucionar el problema, simplemente debe copiar
python3.dll
a
C:/Program Files/Anaconda3
(o donde esté instalado su
Anaconda3
).
Puede obtener
python3.dll
descargando los archivos binarios proporcionados en la parte inferior de la
página de lanzamiento de Python
y extrayendo
python3.dll
del archivo ZIP.
En Winpython: el
Winpython-64bit-.../python_.../DLLs
, el archivo
cv2.pyd
debe renombrarse a
_cv2.pyd
Esto sucede porque el compilador o el intérprete está encontrando más de un paquete del archivo, elimine todo el número del mismo paquete que tiene y luego conserve solo uno e intente instalarlo. Sirve
Francamente, hay muchas respuestas muy inteligentes y complicadas aquí. El mío es tonto y simple. Eliminé mi entorno de conda, reinstalé desde cero, me esforcé por instalar opencv primero . Esto solucionó mis problemas. Los ambientes están destinados a ser temporales y diáfanos, así que no te apegues demasiado.
Entonces, si mi entorno se llamó
fubar
primero, asegúrese de que todas las instancias estén desactivadas (incluidos los IDE que lo estén usando).
Luego quítelo:
conda remove --name fubar --all
Ahora simplemente recrea mi entorno y agrego primero opencv:
conda create --name fubar
conda activate fubar
conda install opencv
Y luego ve desde allí. Siempre ( siempre ) instalo Spyder al final, ya que eso tiende a arruinar las cosas cuando no lo hago.
Hay muchas preguntas sobre eso y muchas sugerencias. Ninguno de ellos me ayudó para el reciente Opencv 3.4.16 y Python 3.6 / 3.7. Finalmente cambié a Pyhon 2.7.15 e instalé opencv 3.1.0. El problema DLL fue resuelto.
Cuando miro en cv2.pyd con el caminante de dependencias, el 3.1 no depende de un dll faltante. Opencv 3.4 tiene esta dependencia que falta a este dll:
API-MS-WIN-DOWNLEVEL-SHLWAPI-L1-1-0.DLL
quizá este es el problema.
PD: Tengo Win7 pofessional 64Bit, 32Bit Python 2.7.15
Instale Python usando:
- pip install opencv-python (Tomará la última versión)
Asegúrese de que opencv-python esté instalado en la ruta (/ Python / Python36 / Lib / site-packages), allí encontrará la carpeta cv2.
Para verificar la versión de cv2: importe cv2 print (cv2 .__ version__)
Me encontré con este problema en Windows 10 (N) con una nueva instalación de Anaconda basada en Python 3.7 (OpenCV versión 4.0). Ninguno de los consejos anteriores ayudó (como instalar OpenCV desde el sitio no oficial o instalar VC Redistribuible).
Verifiqué las dependencias DLL de
.../AppData/Local/conda/conda/envs/foo/Lib/site-packages/cv2/cv2.cp37-win_amd64.pyd
usando
dumpbin.exe
acuerdo con
issue
.
Noté una biblioteca
MF.dll
, que descubrí que pertenece a Windows Media Foundation.
Así que instalé Media Feature Pack para N versiones de Windows 10 y listo, ¡el problema se resolvió!
Puede descargar la última versión de OpenCV 3.2.0 para Python 3.6 en una máquina con Windows de 32 o 64 bits; busque el archivo que comienza con
opencv_python‑3.2.0‑cp36‑cp36m
, desde este
sitio no oficial
.
Luego escriba el siguiente comando para instalarlo:
-
pip install opencv_python‑3.2.0‑cp36‑cp36m‑win32.whl
(versión de 32 bits) -
pip install opencv_python‑3.2.0‑cp36‑cp36m‑win_amd64.whl
(versión de 64 bits)
Creo que sería más fácil
Actualización el 15/09/2017:
OpenCV 3.3.0
archivos de rueda de
OpenCV 3.3.0
ahora están disponibles en el
sitio no oficial
y reemplazaron a
OpenCV 3.2.0
.
Actualización el 15/02/2018:
OpenCV 3.4.0
archivos de rueda de
OpenCV 3.4.0
ahora están disponibles en el
sitio no oficial
y reemplazaron a
OpenCV 3.3.0
.
Actualización sobre 2018-06-19:
OpenCV 3.4.1
archivos de rueda de
OpenCV 3.4.1
ahora están disponibles en el
sitio no oficial
con soporte para
CPython 3.5/3.6/3.7
, y reemplazaron a
OpenCV 3.4.0
.
Actualización el 03/10/2018:
OpenCV 3.4.3
archivos de rueda de
OpenCV 3.4.3
ahora están disponibles en el
sitio no oficial
con soporte para
CPython 3.5/3.6/3.7
, y reemplazaron a
OpenCV 3.4.1
.
Actualización en 2019-01-30:
OpenCV 4.0.1
archivos de rueda de
OpenCV 4.0.1
ahora están disponibles en el
sitio no oficial
con soporte para
CPython 3.5/3.6/3.7
.
Actualización el 10-06-2019:
OpenCV 3.4.6
archivos de rueda
OpenCV 3.4.6
y
OpenCV 4.1.0
ahora están disponibles en el
sitio no oficial
con soporte para
CPython 3.5/3.6/3.7
.
Recientemente me he enfrentado a un problema similar en Azure Windows Server 2012 r2 . Probé todas las opciones con y sin Anaconda pero ninguna de ellas ayudó. Después de muchos hallazgos, descubrí que faltaba mfplat.dll, que está relacionado con Windows Media Service.
Por lo tanto, debe instalar manualmente las funciones para que pueda obtener dll relacionado con el servicio de Windows Media.
1. Active o desactive las funciones de Windows
2.Sáltate la pantalla de roles y ve directamente a la pantalla de funciones
3. Seleccione "Experiencia de escritorio" en "Interfaces e infraestructura de usuario"
Después de esto, todo el dll requerido de servicios de medios para opencv estaría disponible.
Entonces, si planea ejecutar su código en la nube (Windows Server), no olvide seleccionar la función Experiencia de escritorio.
Recuerde si desea instalar el paquete / bibliotecas de Python para Windows,
siempre debe considerar los binarios no oficiales de Python
Paso 1:
Busque su paquete, descargue la versión 2.7 o 3.6 dependiente, puede encontrarlo en Descargas / your_package_version.whl se llama
python wheel
Paso 2:
Ahora instale usando pip,
pip install ~/Downloads/your_packae_ver.whl
Esto se instalará sin ningún error.
Si está utilizando Anaconda con
python 3.5
, este es un problema en la versión de Anaconda.
(Consulte este
issue
)
Puede solucionar este problema copiando el archivo
python3.dll
a la carpeta
Anaconda3
(donde se encuentra
python.exe
)
Cómo obtener "python3.dll"
-
En
cmd
, escribapython --version
para determinar si su instalación es de 64 bits o de 32 bits - descargue el archivo zip incrustable de python 3.x desde here
-
Extraiga el archivo zip y copie el archivo
python3.dll
en la carpetaAnaconda3
Pero si puede pasar a
Anaconda
con
python 3.6
, no enfrentará este problema.
Si es posible para usted, entonces es la forma recomendada.
Si esto ayuda a alguien, en la imagen oficial del acoplador de Windows Python 3.6, para que esto funcione, tuve que copiar las siguientes bibliotecas desde mi escritorio:
C: / windows / system32
aepic.dll
avicap32.dll
avifil32.dll
avrt.dll
Chakra.dll
CompPkgSup.dll
CoreUIComponents.dll
cryptngc.dll
dcomp.dll
devmgr.dll
dmenterprisediagnostics.dll
dsreg.dll
edgeIso.dll
edpauditapi.dll
edputil.dll
efsadu.dll
efswrt.dll
ELSCore.dll
evr.dll
ieframe.dll
ksuser.dll
mf.dll
mfasfsrcsnk.dll
mfcore.dll
mfnetcore.dll
mfnetsrc.dll
mfplat.dll
mfreadwrite.dll
mftranscode.dll
msacm32.dll
msacm32.drv
msvfw32.dll
ngcrecovery.dll
oledlg.dll
policymanager.dll
RTWorkQ.dll
shdocvw.dll
webauthn.dll
WpAXHolder.dll
wuceffects.dll
C: / windows / SysWOW64
aepic.dll
avicap32.dll
avifil32.dll
avrt.dll
Chakra.dll
CompPkgSup.dll
CoreUIComponents.dll
cryptngc.dll
dcomp.dll
devmgr.dll
dsreg.dll
edgeIso.dll
edpauditapi.dll
edputil.dll
efsadu.dll
efswrt.dll
ELSCore.dll
evr.dll
ieframe.dll
ksuser.dll
mfasfsrcsnk.dll
mfcore.dll
mfnetcore.dll
mfnetsrc.dll
mfplat.dll
mfreadwrite.dll
mftranscode.dll
msacm32.dll
msvfw32.dll
oledlg.dll
policymanager.dll
RTWorkQ.dll
shdocvw.dll
webauthn.dll
wuceffects.dll`
Tengo el mismo problema. cuando instalo la programación WinPython y ejecuto opencv después de copiar el archivo cv2.pyd de mi directorio opencv, será así: C: / Users ..... / Downloads / opencv / build / python / 2.7 / x64, x64 o x86 depende de sus dispositivos de 32 o 64 bits. y pegar en C: / Users ..... / Downloads / WinPython-64bit-3.5.4.1Qt5 / python-3.5.4.amd64 / Lib / site-packages, prefiero el anterior python 3.5 que 3.6. Porque cuando "importo cv2" instalado (python 3.6) se muestra directamente: "ImportError: error de carga de DLL: no se pudo encontrar el módulo especificado" Luego instalo python 3.5 y abro el símbolo del sistema WinPyhton y escribo "pip install opencv-python" .
El símbolo del sistema descarga opencv automáticamente, muestra el proceso de esta manera: "Opencv-python-3.3.0.10 instalado con éxito"
Finalmente, trato de ejecutar cv abierto por tipo "import cv2", funciona, trato de escribir "cv2. Version " y muestra: ''3.3.0''
Tuve el mismo problema al instalar opencv 2.4.13 en Anaconda3 (Python 3.6) ... logré solucionar este problema volviendo a Anaconda2 (Python 2.7)
Tuve el mismo problema con python 3.6 (Anaconda3) y OpenCV 3.4.1 para que funcione Spyder. Incluso después de copiar cv2.pyd en Anaconda3 Users / home / Anaconda3 / Lib / site-packages, no funcionó.
Pero encontré una solución
Más tarde instalé OpenCV y Dlib en Anaconda y copié los paquetes generados cv2.cp36-win_amd64.pyd y dlib.cp36-win_amd64.pyd en Anaconda3 Users / home / Anaconda3 / Lib / site-packages. Estos se pueden copiar de la carpeta de entorno C: / Users / home / Anaconda3 / envs / opencv / Lib / site-packages.
Finalmente el spyder comenzó a trabajar
Tuve el mismo problema y pasé 3 días completos luchando con él. Intenté todo lo sugerido: actualizar pip, actualizar Visual C ++, actualizar Anaconda, descargar archivos manualmente y básicamente todas las soluciones que pude encontrar en la web. Esto es lo que finalmente funcionó, tal vez ayude a alguien más:
1- Descarté las descargas basadas en Python 3 y Anaconda ya que noté que tenían varios problemas y en su lugar descargué Python 2.7.16 de 64 bits.
2- Navegué hasta donde se encontraba Pip en mi disco (para mí, la ruta es C: / Python27 / Scripts) resaltó la ruta seleccionándola, escribí "cmd" y luego ingresé para que el símbolo del sistema se abra en esa ruta (noté que me saltaba esto generalmente provoca un par de errores)
3-
Pip actualizado usando
python -m pip install --upgrade pip
actualizado en el CMD (de nuevo, omitir esto y no actualizarlo no permitió que este procedimiento se llevara a cabo)
4-
Descargué el archivo
Wheel
apropiado de
https://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv
(después de probar varios, el que funcionó para mí fue opencv_python-2.4.13.7-cp27-cp27m-win_amd64. whl) Lo copié y pegué en la misma carpeta en la que estaba Pip (C: / Python27 / Scripts para mí) y luego lo instalé a través de CMD usando:
pip install opencv_python-2.4.13.7-cp27-cp27m-win_amd64.whl
.
Siempre a través de CMD abierto en ese camino como se muestra en el paso 2
5-
Después del paso 4 cuando
import cv2
OpenCV usando
import cv2
ya no tenía el error de DLL pero un error relacionado con numpy (ya que acababa de instalar esa versión de Python y Numpy aún no estaba instalado).
Instalé numpy escribiendo
pip install numpy
y voilà!
El problema se resolvió y OpenCV se importó correctamente.
Espero que esto ayude a alguien.