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.