No se puede encontrar el módulo cv2 cuando se usa OpenCV

264

He instalado OpenCV en el sistema operativo Occidentalis (una variante de Raspbian) en una Raspberry Pi, usando el script de jayrambhia que se encuentra aquí . Instaló la versión 2.4.5.

Cuando lo intento import cv2 en un programa de Python, recibo el siguiente mensaje:

pi@raspberrypi~$ python cam.py
Traceback (most recent call last)
File "cam.py", line 1, in <module>
    import cv2
ImportError: No module named cv2

El archivo cv2.sose almacena en/usr/local/lib/python2.7/site-packages/...

También hay carpetas /usr/local/libllamadas python3.2 y python2.6, que podrían ser un problema, pero no estoy seguro.

¿Es este un error de ruta quizás? Cualquier ayuda es apreciada, soy nuevo en Linux.

usuario2971844
fuente
3
intente: python --version. si dice 3.2, entonces tienes una pista. intente localizar el ejecutable 2.7 y llame a eso con una ruta absoluta
berak
3
Para macOS 10.12 y python 3, el comando simple a continuación funcionó para resolver el error: pip install opencv-python Consulte: pypi.python.org/pypi/opencv-python
Tushar
Si está utilizando macOS Catalina, tal vez esto pueda ayudarlo a stackoverflow.com/a/61578366/11559619
NicolasElPapu

Respuestas:

347

Primero ejecute estos comandos dentro de Terminal / CMD:

conda update anaconda-navigator  
conda update navigator-updater  

entonces el problema para las instrucciones a continuación se resolverá

para Windows si tiene instalada una anaconda, simplemente puede hacer

pip install opencv-python

o

conda install -c https://conda.binstar.org/menpo opencv

si estás en Linux puedes hacer:

pip install opencv-python

o

conda install opencv 

Enlace1 Enlace2

Para python3.5 + verifique estos enlaces: Link3 , Link4

Rika
fuente
77
para Linux debe escribir 'pip install opencv-python' o 'sudo pip install opencv-python'
Oz Radiano
12
Te equivocaste en el comando. Es sudo pip3 install opencv-python. Además, para Linux, debe ejecutarlo como sudo pip3 install opencv-pythonpara Python 3 y sudo pip install opencv-pythonpara Python 2. No necesita el sudo al comienzo del comando si lo hace sudo -io se ejecuta como root de alguna manera.
Stiffy2000
2
Si tiene problemas durante la instalación, asegúrese de tener la versión más nueva de pip, pip install --upgrade pipeste fue mi zarzo
mrk
44
pip install opencv-pythonfunciona para mí y no tengo Anaconda. Solo para tu información para cualquiera que venga aquí.
tilper
73

Esto sucede cuando python no puede hacer referencia a la carpeta predeterminada de paquetes de sitio donde ha guardado los archivos o bibliotecas de python necesarios

Agregue estas líneas en el código:

import sys

sys.path.append('/usr/local/lib/python2.7/site-packages')

o antes de ejecutar el comando python en bash, muévase al directorio /usr/local/lib/python2.7/site-packages . Esta es una solución alternativa si no desea agregar nada al código.

Midhun
fuente
1
¿Estás trabajando en Windows? Esta ruta se parece al sistema Linux.
FavorMylikes
1
La pregunta era sobre Raspbian OS, que es Linux.
Midhun
2
Trabajó para mí en la máquina Mac
Sandy
funciona para una sesión, pero si salgo y vuelvo a iniciar Python, tengo que volver a hacerlo. ¿Cómo guardar esta modificación?
Mostafa
Cuando hago esto, aparece "ImportError: numpy.core.multiarray no se pudo importar". ¿Alguna sugerencia?
hiquetj
45

Resolví mi problema usando el siguiente comando:

conda install opencv
tarun kumar Sharma
fuente
66
Si tienes instalado Anaconda Python, este es el comando que estás buscando.
kevinmicke
Intenté esto hoy en un entorno conda 2.7 de Windows de 64 bits y obtuve unPackageNotFound error
Mike Wise
2
Lo que sí funcionó fueconda install -c https://conda.binstar.org/menpo opencv
Mike Wise el
40

Intenta agregar la siguiente línea en ~/.bashrc

export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH
lanpa
fuente
2
Gracias, funcionó para mí cuando lo usé: export PYTHONPATH = / usr / local / python / 2.7: $ PYTHONPATH
Ikbel
21

Ninguna de las respuestas anteriores funcionó para mí. ¡Me estaba volviendo loco hasta que encontré esta solución a continuación!

Simplemente ejecute:

sudo apt install python-opencv
Fatmajk
fuente
14

Para Windows 10 y Python 3.6, esto funcionó para mí

pip install opencv-contrib-python

4m01
fuente
1
También funcionó para mí en Linux (Ubuntu 16.04)
FlorianH
13

Resolví mi problema usando el siguiente comando:

pip install opencv-python
jincy mariam
fuente
9

Lo resuelvo ejecutando:

pip3 install opencv-python
tonysok
fuente
7

He encontrado el mismo problema que instalé cv2 por

pip install cv2

Sin embargo, cuando importo el módulo cv2, no mostró ningún módulo llamado error cv2.
Luego busqué y encontré cv2.pydarchivos en mi computadora y copié y pegué en el directorio de paquetes del sitio

C:\Python27\Lib\site-packages

luego cerré y volví a abrir la aplicación existente, funcionó.

EDITAR Te diré cómo instalar cv2correctamente.

1. Primero instala numpy en tu computadora

pip install numpy


2. Descargue opencv de internet (casi 266 mb).
Lo descargo opencv-2.4.12.exepara python 2.7. Luego instale este archivo opencv-2.4.12.exe.
Extraje a C:\Users\harun\Downloadsesta carpeta.
Después de la instalación, busque cv2.pylas carpetas.
Para mi

C:\Users\harun\Downloads\opencv\build\python\2.7\x64

en esta carpeta tome cv2.pydy cópielo en el

C:\Python27\Lib\site-packages

ahora puedes usar cv2tus scripts de python.

Harun ERGUL
fuente
No creo que el paquete cv2instalado piptenga algo que ver openCV, ¿confirmas?
epsilones
@Newben lo siento por la respuesta tardía. en la parte EDITAR hablo sobre cómo instalar opencv correctamente. desearía que te ayudara si no has resuelto el problema
Harun ERGUL
5

Si desea instalar opencv en entorno virtual. Ejecute el comando en la terminal para obtener la lista de entornos virtuales.

conda env list

o el comando jupyter notebook es

!conda env list

Luego actualiza tu anaconda.

conda update anaconda-navigator
conda update navigator-updater

Instale opencv en la ruta de su entorno seleccionado.

conda install -c ['environment path'] opencv

Cuaderno Juypter

!conda install --yes --prefix ['environment path'] opencv
Shiva Manhar
fuente
4

SI ESTÁS CONSTRUYENDO DE SCRATCH, PASA POR ESTO

Se obtiene No module named cv2.cv. Hijo, hiciste todo bien, ya que sudo make installno diste errores.

Sin embargo, mira este paso

$ cd ~/.virtualenvs/cv/lib/python2.7/site-packages/
$ ln -s /usr/local/lib/python2.7/site-packages/cv2.so cv2.so

EL PASO MUY IMPORTANTE DE TODOS ESTOS ES VINCULARLO.

ln -s /usr/local/lib/python2.7/site-packages/cv2.so cv2.so 
or 
ln -s /usr/local/lib/python2.7/dist-packages/cv2.so cv2.so

En el momento en que elija un enlace inteligente, o por fuerza bruta, simplemente encuentre el archivo cv2.so si existe o no

Aquí estoy lanzando mi salida.

    Successfully installed numpy-1.15.3
(cv) demonLover-desktop:~$ cd ~/.virtualenvs/cv/lib/python2.7/site-packages/
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ln -s /usr/local/lib/python2.7/site-packages/cv2.so cv2.so
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ pip list
Package    Version
---------- -------
numpy      1.15.3 
pip        18.1   
setuptools 40.5.0 
wheel      0.32.2 
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ python
Python 2.7.12 (default, Dec  4 2017, 14:50:18) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named cv2
>>> 
[2]+  Stopped                 python
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ls /usr/local/lib/python2.7/site-packages/c
ls: cannot access '/usr/local/lib/python2.7/site-packages/c': No such file or directory
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ls /usr/local/lib/python2.7/site-packages/
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ deactivate 
demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ls /usr/local/lib/python2.7/site-packages/
demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ls
cv2.so  easy_install.py  easy_install.pyc  numpy  numpy-1.15.3.dist-info  pip  pip-18.1.dist-info  pkg_resources  setuptools  setuptools-40.5.0.dist-info  wheel  wheel-0.32.2.dist-info
demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ls /usr/local/lib/python2.7/site-packages/
demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ls -l  /usr/local/lib/python2.7/site-packages/
total 0
demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ls
cv2.so  easy_install.py  easy_install.pyc  numpy  numpy-1.15.3.dist-info  pip  pip-18.1.dist-info  pkg_resources  setuptools  setuptools-40.5.0.dist-info  wheel  wheel-0.32.2.dist-info
demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ workon cv
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ python
Python 2.7.12 (default, Dec  4 2017, 14:50:18) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named cv2
>>> 
[3]+  Stopped                 python
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ find / -name "cv2.so"
find: ‘/lost+found’: Permission denied
find: ‘/run/udisks2’: Permission denied
find: ‘/run/docker’: Permission denied
find: ‘/run/exim4’: Permission denied
find: ‘/run/lightdm’: Permission denied
find: ‘/run/cups/certs’: Permission denied
find: ‘/run/sudo’: Permission denied
find: ‘/run/samba/ncalrpc/np’: Permission denied
find: ‘/run/postgresql/9.5-main.pg_stat_tmp’: Permission denied
find: ‘/run/postgresql/10-main.pg_stat_tmp’: Permission denied
find: ‘/run/lvm’: Permission denied
find: ‘/run/systemd/inaccessible’: Permission denied
find: ‘/run/lock/lvm’: Permission denied
find: ‘/root’: Permission denied
^C
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ sudofind / -name "cv2.so"
sudofind: command not found
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ^C
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ sudo find / -name "cv2.so"
[sudo] password for app: 
find: ‘/run/user/1000/gvfs’: Permission denied
^C
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ sudo find /usr/ -name "cv2.so"
/usr/local/lib/python2.7/dist-packages/cv2.so
^C
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ln -s /usr/local/lib/python2.7/dist-packages/ccv2.so cv2.so
click/                        clonevirtualenv.pyc           configparser-3.5.0.dist-info/ configparser.py               cv2.so                        cycler.py
clonevirtualenv.py            concurrent/                   configparser-3.5.0-nspkg.pth  configparser.pyc              cycler-0.10.0.dist-info/      cycler.pyc
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ln -s /usr/local/lib/python2.7/dist-packages/cv2.so cv2.so
ln: failed to create symbolic link 'cv2.so': File exists
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ rm cv2.so 
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ln -s /usr/local/lib/python2.7/dist-packages/cv2.so cv2.so
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ls
cv2.so  easy_install.py  easy_install.pyc  numpy  numpy-1.15.3.dist-info  pip  pip-18.1.dist-info  pkg_resources  setuptools  setuptools-40.5.0.dist-info  wheel  wheel-0.32.2.dist-info
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ python
Python 2.7.12 (default, Dec  4 2017, 14:50:18) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> 

Mi paso solo ayudará si su construcción se realiza correctamente.

El exorcista
fuente
Solo con la ayuda de @TheExorcist podría resolver esto
Rodney Salcedo,
Me alegra poder ayudarlo @RodneySalcedo, pero es pecado mientras se vincula, nos comprometemos inconscientemente.
TheExorcist
2

Resuelvo esto por código de ejecución pip install opencv_contrib_python

Albert de nieve
fuente
0

Probar esto:

sudo ldconfig

sudo nano /etc/ld.so.conf.d/opencv.conf

y agregue esta línea siguiente opencv.confen la ventana de comando no en

/usr/local/lib

Luego:

sudo ldconfig

sudo nano /etc/bash.bashrc

y agregue estas dos líneas en el bash.bashrcno en la ventana de comandos

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig       
export PKG_CONFIG_PATH

por fin reinicia tu Pi sudo reboot now

e intenta import cv2

Tes3awy
fuente
¿Puede explicar por qué estos pasos? ¿Cómo están relacionados con cv2?
Kishor Pawar
0

Otra forma de instalar y trabajar con OpenCV fue dentro de la comunidad Visual Studio 2017. Visual Studio tiene un agradable entorno de python con depuración.
Entonces, desde la ventana vs python env, busqué y agregué opencv. Solo pensé en compartir porque me gusta probar cosas de diferentes maneras y en diferentes computadoras.

VisualStudio2017 entornos python con opencv

dcarl661
fuente
0

Tuve el mismo problema, simplemente no pude resolverlo con opencv2 y opencv3 instalados en / opt / opencv y opencv3 respectivamente. Resultó que la instalación sangrienta de anaconda de opencv en mi directorio de inicio fue primero en la ruta y destrozó opencv. Lo eliminó y comenzó a usar / opt / opencv3 / lib como se define en /etc/ld.so.conf.d/opencv.conf. Funcionó perfectamente a la primera. ¿Tienes instalada anaconda? Podría ser el problema.

Eamonn Kenny
fuente