Ik heb OpenCV geïnstalleerd op het Occidentalis-besturingssysteem (een variant van Raspbian) op een Raspberry Pi, die het script van jayrambhia gebruikt, hier. Het installeerde versie 2.4.5.
Als ik import cv2
probeer in een Python-programma, krijg ik de volgende melding:
[email protected]~$ python cam.py
Traceback (most recent call last)
File "cam.py", line 1, in <module>
import cv2
ImportError: No module named cv2
Het bestand cv2.so
wordt opgeslagen in /usr/local/lib/python2.7/site-packages/...
Er zijn ook mappen in /usr/local/lib
genaamd python3.2 en python2.6, wat een probleem zou kunnen zijn, maar ik weet het niet zeker.
Is dit misschien een padfout? Alle hulp wordt op prijs gesteld, ik ben nieuw in Linux.
Antwoord 1, autoriteit 100%
Voer eerst deze opdrachten uit in Terminal/CMD:
conda update anaconda-navigator
conda update navigator-updater
Dan is het probleem voor de onderstaande instructie opgelost
Voor Windows als je anaconda hebt geïnstalleerd, kun je dat gewoon doen
pip install opencv-python
of
conda install -c https://conda.binstar.org/menpo opencv
als je linux gebruikt, kun je het volgende doen:
pip install opencv-python
of
conda install opencv
Voor python3.5+ check deze links: Link3, Link4
Bijwerken:
als je anaconda gebruikt, kun je dit ook gewoon gebruiken (en hoef je dus geen menpo-kanaal toe te voegen):
conda install -c conda-forge opencv
Antwoord 2, autoriteit 20%
Dit gebeurt wanneer python niet kan verwijzen naar uw standaard site-packages-map waar u de vereiste python-bestanden of -bibliotheken hebt bewaard
Voeg deze regels toe aan de code:
import sys
sys.path.append('/usr/local/lib/python2.7/site-packages')
of voordat u het python-commando in bash uitvoert, gaat u naar de map /usr/local/lib/python2.7/site-packages. Dit is een tijdelijke oplossing als je niets aan de code wilt toevoegen.
Antwoord 3, autoriteit 11%
Ik heb mijn probleem opgelost met het volgende commando:
conda install opencv
Antwoord 4, autoriteit 10%
Probeer de volgende regel toe te voegen in ~/.bashrc
export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH
Antwoord 5, autoriteit 7%
Python3.x-gebruiker
sudo pip3 install opencv-python
Antwoord 6, autoriteit 7%
Voor Windows 10 en Python 3.6 werkte dit voor mij
pip install opencv-contrib-python
Antwoord 7, autoriteit 6%
Geen van de bovenstaande antwoorden werkte voor mij. Ik werd gek totdat ik deze oplossing hieronder vond!
Gewoon uitvoeren:
sudo apt install python-opencv
Antwoord 8, autoriteit 4%
Ik heb mijn probleem opgelost met het volgende commando:
pip install opencv-python
Antwoord 9, autoriteit 4%
Ik los het op door het volgende uit te voeren:
pip3 install opencv-python
Antwoord 10, autoriteit 3%
pip install opencv-python
of
pip install opencv-python3
zal zeker goed werken
Antwoord 11, autoriteit 2%
Ik ben hetzelfde tegengekomen als dit probleem, ik heb cv2 geïnstalleerd door
pip install cv2
Toen ik de cv2-module importeerde, werd er echter geen module met de naam cv2-fout weergegeven.
Vervolgens heb ik gezocht en gevonden cv2.pyd
bestanden op mijn computer en ik kopieer en plak in de site-packages directory
C:\Python27\Lib\site-packages
Toen heb ik de bestaande applicatie gesloten en opnieuw geopend, het werkte.
BEWERKEN
Ik zal je vertellen hoe je cv2
correct installeert.
1. Installeer numpy eerst op uw computer door
pip install numpy
2. Download opencv van internet (bijna 266 mb).
Ik download opencv-2.4.12.exe
voor python 2.7. Installeer dan dit opencv-2.4.12.exe bestand.
Ik heb uitgepakt naar C:\Users\harun\Downloads
naar deze map.
Zoek na de installatie naar cv2.py
in de mappen.
Voor mij
C:\Users\harun\Downloads\opencv\build\python\2.7\x64
neem in deze map decv2.pyd
en kopieer deze naar de
C:\Python27\Lib\site-packages
nu kunt u cv2
gebruiken in uw python-scripts.
Antwoord 12, autoriteit 2%
Ik los dit op door code pip install opencv_contrib_python
uit te voeren
Antwoord 13
Als u opencv in een virtuele omgeving wilt installeren.
Voer de opdracht uit in terminal om de lijst met virtuele omgevingen te krijgen.
conda env list
of
jupyter notebook commando is
!conda env list
Update dan je anaconda.
conda update anaconda-navigator
conda update navigator-updater
Installeer opencv in uw geselecteerde omgevingspad.
conda install -c ['environment path'] opencv
Juypter notitieboekje
!conda install --yes --prefix ['environment path'] opencv
Antwoord 14
ALS JE VANAF BOUWT, GA DAN DIT DOOR
Je krijgt No module named cv2.cv
.
Zoon, je hebt alles goed gedaan, aangezien je sudo make install
geen fouten opleverde.
Kijk echter naar deze stap
$ cd ~/.virtualenvs/cv/lib/python2.7/site-packages/
$ ln -s /usr/local/lib/python2.7/site-packages/cv2.so cv2.so
DE ZEER BELANGRIJKE STAP VAN AL DEZE IS HET KOPPELEN.
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
Op het moment dat je kiest voor verstandig linken, of met brute kracht, vind je gewoon het cv2.so-bestand als dat bestaat of niet
Hier gooi ik mijn output.
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
>>>
Mijn stap zal alleen helpen, als je gebouwd goed is gedaan.
Antwoord 15
Het zou jouw oplossing zijn:
pip install opencv-contrib-python
Werkt als een tierelier….!
Antwoord 16
Probeer dit eens:
sudo ldconfig
sudo nano /etc/ld.so.conf.d/opencv.conf
en voeg deze volgende regel toe in de opencv.conf
niet in het opdrachtvenster
/usr/local/lib
Dan:
sudo ldconfig
sudo nano /etc/bash.bashrc
en voeg deze twee regels toe in de bash.bashrc
niet in het opdrachtvenster
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
eindelijk herstart je Pi sudo reboot now
en probeer import cv2
Antwoord 17
Een andere manier waarop ik opencv kreeg om te installeren en te werken, was in de Visual Studio 2017-community.
Visual studio heeft een mooie Python-omgeving met foutopsporing.
Dus vanuit het vs python env-venster heb ik gezocht en opencv toegevoegd.
Ik dacht dat ik het zou delen omdat ik dingen graag op verschillende manieren en op verschillende computers probeer.
Antwoord 18
Ik had hetzelfde probleem, ik kon er alleen niet achter komen met opencv2 en opencv3 geïnstalleerd in respectievelijk /opt/opencv en opencv3. Bleek dat die verdomde anaconda-installatie van opencv in mijn thuismap eerst op pad was en opencv verminkte. Verwijderde het en begon /opt/opencv3/lib te gebruiken zoals gedefinieerd in /etc/ld.so.conf.d/opencv.conf. Werkte perfect eerste keer. Heb je anaconda geïnstalleerd? Zou het probleem kunnen zijn.
Antwoord 19
Ik weet dat je het probleem had met Occidentalis, maar ik had het probleem ook op Windows en ik vond niets nuttigs. Dus als je Windows hebt en je hebt opencv geïnstalleerd, maar je krijgt nog steeds een importfout, dan kan deze methode het probleem misschien oplossen.
Ik heb het probleem kunnen oplossen door anaconda opnieuw te activeren.
Eerst heb ik je\pad\naar\anaconda3 en je\pad\naar\anaconda3\Scripts van PATH verwijderd (je hebt deze later nodig, dus onthoud deze paden)
Als je python uitvoert vanaf cmd, zal het zeggen:
Warning:
This Python interpreter is in a conda environment, but the environment has
not been activated. Libraries may fail to load. To activate this environment
please see https://conda.io/activation.
Vervolgens heb ik in de Anaconda-prompt deze uitgevoerd:
your\path\to\anconda3\Scripts\activate base
conda activate --stack your\path\to\anaconda3
Ik weet niet zeker of dit de gemakkelijkste manier is om anaconda opnieuw te activeren, maar dit is wat voor mij werkte.
Antwoord 20
Dit is voor degenen die ubuntu gebruiken om hun script.py uit te voeren
je moet cv2.so kopiëren onder je python-pachkages-dir en vervolgens je bachrc resourcen.
hier:
sudo cp -rfv /home/<user>/<your opencv file dir>/lib/cv2.so /usr/local/lib/python2.7/site-packages/
export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH