问题:使用OpenCV时找不到模块cv2
我已经在Raspberry Pi上的Occidentalis操作系统(Raspbian的变体)上安装了OpenCV ,使用的是在此处 找到的jayrambhia脚本。它安装了版本2.4.5。
当我尝试import cv2
使用Python程序时,收到以下消息:
pi@raspberrypi ~ $ python cam . py
Traceback ( most recent call last )
File "cam.py" , line 1 , in < module >
import cv2
ImportError : No module named cv2
该文件cv2.so
存储在/usr/local/lib/python2.7/site-packages/...
在/usr/local/lib
python3.2和python2.6 中也有文件夹,这可能是个问题,但我不确定。
这可能是路径错误吗?感谢您的任何帮助,我是Linux的新手。
I have installed OpenCV on the Occidentalis operating system (a variant of Raspbian) on a Raspberry Pi, using jayrambhia’s script found here . It installed version 2.4.5.
When I try import cv2
in a Python program, I get the following message:
pi@raspberrypi~$ python cam.py
Traceback (most recent call last)
File "cam.py", line 1, in <module>
import cv2
ImportError: No module named cv2
The file cv2.so
is stored in /usr/local/lib/python2.7/site-packages/...
There are also folders in /usr/local/lib
called python3.2 and python2.6, which could be a problem but I’m not sure.
Is this a path error perhaps? Any help is appreciated, I am new to Linux.
回答 0
首先在Terminal / CMD中运行以下命令:
conda update anaconda - navigator
conda update navigator - updater
那么以下说明的问题将得到解决
对于Windows,如果您安装了anaconda,则只需
pip install opencv - python
要么
conda install - c https :// conda . binstar . org / menpo opencv
如果您使用的是Linux,则可以执行以下操作:
pip install opencv - python
要么
conda install opencv
链接1 链路2
对于python3.5 +,请检查以下链接:Link3 ,Link4
First do run these commands inside Terminal/CMD:
conda update anaconda-navigator
conda update navigator-updater
Then the issue for the instruction below will be resolved
For windows if you have anaconda installed, you can simply do
pip install opencv-python
or
conda install -c https://conda.binstar.org/menpo opencv
if you are on linux you can do :
pip install opencv-python
or
conda install opencv
Link1 Link2
For python3.5+ check these links : Link3 , Link4
Update:
if you use anaconda, you may simply use this as well (and hence don’t need to add menpo channel):
conda install -c conda-forge opencv
回答 1
当python无法参考您保留了所需python文件或库的默认site-packages文件夹时,就会发生这种情况
在代码中添加以下行:
import sys
sys . path . append ( '/usr/local/lib/python2.7/site-packages' )
或在bash中运行python命令之前,移至/usr/local/lib/python2.7/site-packages 目录。如果您不想在代码中添加任何内容,则可以解决此问题。
This happens when python cannot refer to your default site-packages folder where you have kept the required python files or libraries
Add these lines in the code:
import sys
sys.path.append('/usr/local/lib/python2.7/site-packages')
or before running the python command in bash move to /usr/local/lib/python2.7/site-packages directory. This is a work around if you don’t want to add any thing to the code.
回答 2
我使用以下命令解决了我的问题:
conda install opencv
I solved my issue using the following command :
conda install opencv
回答 3
尝试在其中添加以下行 ~/.bashrc
export PYTHONPATH =/ usr / local / lib / python2 . 7 / site - packages : $PYTHONPATH
Try to add the following line in ~/.bashrc
export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH
回答 4
Python3.x用户
sudo pip3 install opencv - python
Python3.x User
sudo pip3 install opencv-python
回答 5
上面的答案对我都不起作用。我一直在疯狂,直到我在下面找到了这个解决方案!
只需运行:
sudo apt install python - opencv
None of the above answers worked for me. I was going crazy until I found this solution below!
Simply run:
sudo apt install python-opencv
回答 6
对于Windows 10和Python 3.6,这对我有用
pip install opencv-contrib-python
For Windows 10 and Python 3.6, this worked for me
pip install opencv-contrib-python
回答 7
我使用以下命令解决了我的问题:
pip install opencv - python
I solved my issue using the following command :
pip install opencv-python
回答 8
我通过运行来解决:
pip3 install opencv - python
I solve it by running:
pip3 install opencv-python
回答 9
我遇到了与此问题相同的问题,我通过安装了cv2
pip install cv2
但是,当我导入cv2模块时,它没有显示名为cv2错误的模块。
然后,我cv2.pyd
在计算机中搜索并找到文件,然后将其复制并粘贴到site-packages目录中
C : \Python27\Lib\site - packages
然后我关闭并重新打开了现有的应用程序,它起作用了。
编辑
我会告诉你如何安装cv2
正确。
1. 首先通过以下方式在计算机上安装numpy:
pip install numpy
2. 从互联网(将近266 mb)下载opencv 。
我opencv-2.4.12.exe
为python 2.7 下载。然后安装此opencv-2.4.12.exe文件。
我解压缩C:\Users\harun\Downloads
到此文件夹。
安装后,去寻找cv2.py
文件夹。 为了我
C : \Users\harun\Downloads\opencv\build\python\2 . 7 \x 64
在此文件夹中,将cv2.pyd
并复制到
C : \Python27\Lib\site - packages
现在您可以cv2
在python脚本中使用了。
I have come accross same as this problem i installed cv2 by
pip install cv2
However when i import cv2 module it displayed no module named cv2 error.
Then i searched and find cv2.pyd
files in my computer and i copy and paste to site-packages directory
C:\Python27\Lib\site-packages
then i closed and reopened existing application, it worked.
EDIT
I will tell how to install cv2
correctly.
1. Firstly install numpy on your computer by
pip install numpy
2. Download opencv from internet (almost 266 mb).
I download opencv-2.4.12.exe
for python 2.7. Then install this opencv-2.4.12.exe file.
I extracted to C:\Users\harun\Downloads
to this folder.
After installation go look for cv2.py
into the folders. For me
C:\Users\harun\Downloads\opencv\build\python\2.7\x64
in this folder take thecv2.pyd
and copy it in to the
C:\Python27\Lib\site-packages
now you can able to use cv2
in you python scripts.
回答 10
如果要在虚拟环境中安装opencv。在终端中运行命令以获取虚拟环境列表。
conda env list
或jupyter notebook命令是
! conda env list
然后更新您的Python。
conda update anaconda - navigator
conda update navigator - updater
在您选择的环境路径中安装opencv。
conda install - c [ 'environment path' ] opencv
Juypter笔记本
! conda install -- yes -- prefix [ 'environment path' ] opencv
If want to install opencv in virtual environment.
Run command in terminal for getting virtual environment list.
conda env list
or
jupyter notebook command is
!conda env list
Then update your anaconda.
conda update anaconda-navigator
conda update navigator-updater
Install opencv in your selected environment path.
conda install -c ['environment path'] opencv
Juypter notebook
!conda install --yes --prefix ['environment path'] opencv
回答 11
如果您要从刮擦中进行构建,请按照以下说明进行操作
你懂了No module named cv2.cv
。儿子,您没sudo make install
做错任何事,因为您没有犯错。
但是看看这一步
$ cd ~/. virtualenvs / cv / lib / python2 . 7 / site - packages /
$ ln - s / usr / local / lib / python2 . 7 / site - packages / cv2 . so cv2 . so
所有这些非常重要的步骤是将其链接起来。
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
当您选择明智的链接或通过暴力破解时,只需查找cv2.so文件(如果存在)
在这里,我将输出。
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
>>>
如果您的构建正确,我的步骤只会有所帮助。
IF YOU ARE BUILDING FROM SCRATCH, GO THROUGH THIS
You get No module named cv2.cv
.
Son, you did all step right, since your sudo make install
gave no errors.
However look at this step
$ cd ~/.virtualenvs/cv/lib/python2.7/site-packages/
$ ln -s /usr/local/lib/python2.7/site-packages/cv2.so cv2.so
THE VERY IMPORTANT STEP OF ALL THESE IS TO LINK IT.
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
The moment you choose wise linking, or by brute force just find the cv2.so file if that exist or not
Here I am throwing my 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
>>>
My step will only help, if your built is done right.
回答 12
我通过运行代码解决 pip install opencv_contrib_python
I solve this by run code pip install opencv_contrib_python
回答 13
试试看:
sudo ldconfig
sudo nano / etc / ld . so . conf . d / opencv . conf
并opencv.conf
在命令窗口的not中添加以下行
/ usr / local / lib
然后:
sudo ldconfig
sudo nano / etc / bash . bashrc
并将这两行添加到bash.bashrc
不在命令窗口中
PKG_CONFIG_PATH = $PKG_CONFIG_PATH :/ usr / local / lib / pkgconfig
export PKG_CONFIG_PATH
最后重启你的Pi sudo reboot now
并尝试 import cv2
Try this out:
sudo ldconfig
sudo nano /etc/ld.so.conf.d/opencv.conf
and add this following line in the opencv.conf
not in the command window
/usr/local/lib
Then:
sudo ldconfig
sudo nano /etc/bash.bashrc
and add this two lines in the bash.bashrc
not in the command window
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
at last reboot your Pi sudo reboot now
and try import cv2
回答 14
我安装和工作opencv的另一种方法是在Visual Studio 2017社区内部。Visual Studio具有一个不错的带有调试功能的python环境。
因此,从vs python env窗口中,我搜索并添加了opencv。只是想我会分享,因为我喜欢以不同的方式在不同的计算机上尝试。
Another way I got opencv to install and work was inside visual studio 2017 community.
Visual studio has a nice python environment with debugging.
So from the vs python env window I searched and added opencv.
Just thought I would share because I like to try things different ways and on different computers.
回答 15
我有同样的问题,只是无法通过分别安装到/ opt / opencv和opencv3中的opencv2和opencv3来解决。原来,在我的主目录中,血腥的anaconda安装的opencv首先出现在路径上,并且破坏了opencv。删除它,并使用/etc/ld.so.conf.d/opencv.conf中定义的/ opt / opencv3 / lib开始。第一次工作完美。您安装了Python吗?可能是问题。
I had the same problem, just couldn’t figure it out with opencv2 and opencv3 installed into /opt/opencv and opencv3 respectively. Turned out that bloody anaconda install of opencv in my home directory was first on path and mangled opencv. Removed it and started using /opt/opencv3/lib as defined in /etc/ld.so.conf.d/opencv.conf. Worked perfectly first go. Do you have anaconda installed? Could be the issue.