Não é possível encontrar o módulo cv2 ao usar o OpenCV

264

Eu instalei o OpenCV no sistema operacional Occidentalis (uma variante do Raspbian) em um Raspberry Pi, usando o script de jayrambhia encontrado aqui . Ele instalou a versão 2.4.5.

Quando tento import cv2um programa Python, recebo a seguinte mensagem:

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

O arquivo cv2.soé armazenado em/usr/local/lib/python2.7/site-packages/...

Também existem pastas /usr/local/libchamadas python3.2 e python2.6, que podem ser um problema, mas não tenho certeza.

Talvez seja um erro de caminho? Qualquer ajuda é apreciada, eu sou novo no Linux.

user2971844
fonte
3
tente: python --version. se diz 3.2, você tem uma dica. tentar localizar o executável 2,7, e chamada que com um caminho absoluto
Berak
3
Para MacOS 10,12 e python 3 o comando simples abaixo trabalhou para resolver o erro: pip instalar opencv-python Consulte: pypi.python.org/pypi/opencv-python
Tushar
Se você estiver usando o macOS Catalina, talvez isso possa ajudá-lo a stackoverflow.com/a/61578366/11559619
NicolasElPapu

Respostas:

347

Primeiro, execute estes comandos dentro do Terminal / CMD:

conda update anaconda-navigator  
conda update navigator-updater  

o problema da instrução abaixo será resolvido

para windows se você tiver o anaconda instalado, você pode simplesmente fazer

pip install opencv-python

ou

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

se você estiver no linux, você pode fazer:

pip install opencv-python

ou

conda install opencv 

Link1 Link2

Para python3.5 +, verifique estes links: Link3 , Link4

Rika
fonte
7
para linux, você deve digitar 'pip install opencv-python' ou 'sudo pip install opencv-python'
Oz Radiano
12
Você entendeu errado o comando. É sudo pip3 install opencv-python. Além disso, no linux, você deve executá-lo como sudo pip3 install opencv-pythonno python 3 e sudo pip install opencv-pythonno python 2. Você não precisa do sudo no início do comando se você sudo -iforstar ou estiver executando como root de alguma maneira.
precisa saber é o seguinte
2
Se enfrentar problemas durante a instalação, verifique se você tem a versão mais recente do pip pip install --upgrade pipesta foi a minha acácia
mrk
4
pip install opencv-pythonfunciona para mim e não tenho Anaconda. Apenas para sua informação, para quem mais vier aqui.
22717
73

Isso acontece quando python não pode se referir à pasta de pacotes de sites padrão em que você manteve os arquivos ou bibliotecas python necessários

Adicione estas linhas no código:

import sys

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

ou antes de executar o comando python no bash, vá para o diretório /usr/local/lib/python2.7/site-packages . Esta é uma solução alternativa, se você não deseja adicionar nada ao código.

Midhun
fonte
1
Você está trabalhando no Windows? Esse caminho se parece com o sistema Linux.
precisa saber é o seguinte
1
a pergunta era sobre o Raspbian OS, que é o Linux.
Midhun
2
Trabalhou para mim na máquina mac
sandy
funciona para uma sessão, mas se eu sair e relançar o python, tenho que fazê-lo novamente. como salvar esta modificação?
Mostafa #
Recebo "ImportError: numpy.core.multiarray falhou ao importar" quando faço isso. Alguma sugestão?
58517 hjdjjjjjjjjjjj
45

Resolvi meu problema usando o seguinte comando:

conda install opencv
tarun kumar Sharma
fonte
6
Se você possui o Anaconda Python instalado, este é o comando que você está procurando.
kevinmicke
Eu tentei isso hoje em um ambiente conda do Windows de 64 bits 2.7 e obtive umPackageNotFound error
Mike Wise
2
O que funcionou foiconda install -c https://conda.binstar.org/menpo opencv
Mike Wise
40

Tente adicionar a seguinte linha em ~/.bashrc

export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH
lanpa
fonte
2
Obrigado, ele trabalhou para mim quando utilizado: export PYTHONPATH = / usr / local / python / 2.7: $ PYTHONPATH
Ikbel
21

Nenhuma das respostas acima funcionou para mim. Eu estava ficando louco até encontrar essa solução abaixo!

Basta executar:

sudo apt install python-opencv
Fatmajk
fonte
14

Para Windows 10 e Python 3.6, isso funcionou para mim

pip install opencv-contrib-python

4m01
fonte
1
Trabalhou para mim também no Linux (Ubuntu 16.04)
FlorianH 13/03
13

Resolvi meu problema usando o seguinte comando:

pip install opencv-python
jincy mariam
fonte
9

Eu resolvo isso executando:

pip3 install opencv-python
tonysok
fonte
7

Eu vim através do mesmo problema que eu instalei o CV2 por

pip install cv2

No entanto, quando eu importo o módulo cv2, ele não exibia nenhum módulo chamado erro cv2.
Então eu procurei e localizei cv2.pydarquivos no meu computador e copio e colo no diretório site-packages

C:\Python27\Lib\site-packages

então fechei e reabri o aplicativo existente, funcionou.

EDIT Vou dizer como instalar cv2corretamente.

1. Instale primeiro o numpy no seu computador,

pip install numpy


2. Faça o download do opencv da internet (quase 266 mb).
Eu faço o download opencv-2.4.12.exepara python 2.7. Em seguida, instale este arquivo opencv-2.4.12.exe.
Eu extraí para C:\Users\harun\Downloadsesta pasta.
Após a instalação, procure cv2.pynas pastas.
Para mim

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

nesta pasta, pegue o cv2.pyde copie-o para o

C:\Python27\Lib\site-packages

agora você pode usar cv2em seus scripts python.

Harun ERGUL
fonte
Não acho que o pacote cv2instalado piptenha algo a ver com isso openCV, você confirmou?
Epsilones
@Newben desculpe pela resposta tardia. na parte EDIT, falo sobre como instalar o opencv corretamente. eu desejo que ele vai te ajudar se você não resolver o problema
Harun Ergül
5

Se deseja instalar o opencv no ambiente virtual. Execute o comando no terminal para obter a lista de ambiente virtual.

conda env list

O comando notebook ou jupyter é

!conda env list

Atualize sua anaconda.

conda update anaconda-navigator
conda update navigator-updater

Instale o opencv no caminho do ambiente selecionado.

conda install -c ['environment path'] opencv

Caderno Juypter

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

SE VOCÊ ESTIVER CONSTRUINDO COM SCRATCH, PASSE POR ISSO

Você entendeu No module named cv2.cv. Filho, você deu tudo certo, já que sudo make installnão deu erros.

No entanto, veja esta etapa

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

O passo muito importante de tudo isso é vinculá-lo.

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

No momento em que você escolher o vínculo inteligente, ou por força bruta, encontre o arquivo cv2.so, se houver ou não

Aqui estou jogando minha saída.

    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
>>> 

Meu passo só ajudará se a sua construção for feita corretamente.

O Exorcista
fonte
Só com a ajuda de @TheExorcist poderia resolver este
Rodney Salcedo
Fico feliz em ajudá-lo @RodneySalcedo, mas é pecado ao vincular, nos comprometemos inconscientemente.
TheExorcist
2

Eu resolvo isso por código de execução pip install opencv_contrib_python

Snow Albert
fonte
0

Tente isto:

sudo ldconfig

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

e adicione esta linha a seguir na opencv.confjanela não de comando

/usr/local/lib

Então:

sudo ldconfig

sudo nano /etc/bash.bashrc

e adicione estas duas linhas na bash.bashrcjanela de comando não

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

finalmente reinicie o seu Pi sudo reboot now

e tentar import cv2

Tes3awy
fonte
Você pode explicar por que essas etapas? Como eles estão relacionados ao CV2?
Kishor Pawar
0

Outra maneira de obter o opencv para instalar e trabalhar foi dentro da comunidade do visual studio 2017. O Visual Studio possui um ambiente python agradável com depuração.
Então, a partir da janela env do python vs, pesquisei e adicionei o opencv. Só pensei em compartilhar porque gosto de tentar as coisas de maneiras diferentes e em computadores diferentes.

Ambientes python do VisualStudio2017 com opencv

dcarl661
fonte
0

Eu tinha o mesmo problema, simplesmente não conseguia descobrir com o opencv2 e opencv3 instalado em / opt / opencv e opencv3, respectivamente. Aconteceu que a instalação sangrenta do opencv em anaconda no meu diretório pessoal foi o primeiro a caminho e opencv mutilado. O removeu e começou a usar / opt / opencv3 / lib conforme definido em /etc/ld.so.conf.d/opencv.conf. Funcionou perfeitamente primeiro. Você tem o anaconda instalado? Pode ser o problema.

Eamonn Kenny
fonte