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

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í . Se instaló la versión 2.4.5.

Cuando bash import cv2 en un progtwig de Python, recibo el siguiente mensaje:

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

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

También hay carpetas en /usr/local/lib llamadas python3.2 y python2.6, lo que podría ser un problema, pero no estoy seguro.

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

Primero ejecute estos comandos dentro de Terminal / CMD:

 conda update anaconda-navigator conda update navigator-updater 

A continuación, se resolverá el problema para la siguiente instrucción

Para Windows, si tiene anaconda instalada, 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 

Link1 Link2

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

Esto sucede cuando python no puede referirse a su carpeta de paquetes de sitio predeterminada donde ha guardado los archivos o bibliotecas de python requeridos

Añade 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.

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

 export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH 

Resolví mi problema usando el siguiente comando:

 conda install opencv 

Usuario Python3.x

 sudo pip3 install opencv-python 

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 

Me he encontrado con el mismo problema que instalé cv2

 pip install cv2 

Sin embargo, cuando importo el módulo cv2, no se muestra ningún módulo llamado cv2 error.
Luego busqué y encontré archivos cv2.pyd en mi computadora y cv2.pyd y cv2.pyd en el directorio de paquetes de sitio

 C:\Python27\Lib\site-packages 

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

EDITAR Voy a decir cómo instalar cv2 correctamente.

1. Primero instale numpy en su computadora por

 pip install numpy 

2. Descarga opencv desde internet (casi 266 mb).
opencv-2.4.12.exe para python 2.7. Luego instale este archivo opencv-2.4.12.exe.
Extraje a C:\Users\harun\Downloads a esta carpeta.
Después de la instalación, busque cv2.py en las carpetas.
Para mi

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

en esta carpeta, tome el cv2.pyd y cópielo en el

 C:\Python27\Lib\site-packages 

ahora puedes usar cv2 en tus scripts de python.

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

 conda env list 

o el comando del cuaderno jupyter 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 de juypter

 !conda install --yes --prefix ['environment path'] opencv 

SI ESTÁ CONSTRUYENDO DE SCRATCH, SIGUE A TRAVÉS DE ESTO

No obtienes No module named cv2.cv Hijo, lo hiciste todo bien, ya que tu sudo make install no dio 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 TODO ESTO ES EL ENLACE.

 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 que elija la vinculación 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 "", line 1, in  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 "", line 1, in  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 tu construcción está bien hecha.

Probar esto:

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

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

 /usr/local/lib 

Entonces:

 sudo ldconfig sudo nano /etc/bash.bashrc 

y agrega estas dos líneas en el bash.bashrc no en la ventana de comandos

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

por fin reinicie su Pi sudo reboot now

y prueba import cv2

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