在使用OpenCV时,无法找到cv2模块

回答 24 浏览 172.5万 2013-11-09

我在Raspberry Pi上的Occidentalis操作系统(Raspbian的一个变种)上安装了OpenCV,使用了jayrambhia编写的这个脚本。它安装了2.4.5版本。

当我在Python程序中尝试import cv2时,我得到了以下信息。

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.2python2.6的文件夹,如果这与此有关的话。

我怎样才能解决这个问题?这是由路径错误配置造成的吗?

user2971844 提问于2013-11-09
试试:Python -- 版本。如果它显示3.2,那么你就得到了一个提示。试着找到2.7的可执行文件,用绝对路径调用它berak 2013-11-09
对于macOS 10.12和python 3,下面的简单命令可以解决这个错误: pip install opencv-python Refer:pypi.python.org/pypi/opencv-pythonTushar 2017-02-20
如果你使用的是macOS Catalina,也许这可以帮助你stackoverflow.com/a/61578366/11559619NicolasElPapu 2020-05-03
pip install opencv-python==4.6.0.66DanielBell99 2022-07-27
24 个回答
#1楼
得票数 510

首先在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

更新:
如果你使用anaconda,你也可以简单地使用这个(因此不需要添加menpo通道)。

conda install -c conda-forge opencv
Hossein 提问于2017-01-27
Hossein 修改于2020-07-16
对于Linux,你应该输入'pip install opencv-python'或者'sudo pip install opencv-python'。Oz Radiano 2017-04-15
你把命令搞错了。它是sudo pip3 install opencv-python。另外,对于linux,对于python 3,你必须以sudo pip3 install opencv-python的方式运行,对于python 2,必须以sudo pip install opencv-python的方式运行。如果你以sudo -i forst或以某种方式以root身份运行,你就不需要在命令的开头加上sudo。E.T. 2017-05-21
如果在安装时遇到问题,请确保你有最新的pip版本 pip install --upgrade pip 这是我的wattle。mrk 2017-06-20
pip install opencv-python对我有用,我没有Anaconda。只是为其他来这里的人提供参考。user6096242 2017-07-22
#2楼
得票数 93

这种情况发生在Python无法引用你的默认站点软件包文件夹,而你在该文件夹中保存了所需的Python文件或库。

在代码中加入这几行。

import sys

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

或者在bash中运行python命令之前,移动到/usr/local/lib/python2.7/Site-packages目录。如果你不想在代码中添加任何东西,这是一个解决方法。

Midhun 提问于2014-02-02
Midhun 修改于2014-02-05
你是在windows系统上工作的吗?这个路径看起来像是在linux系统上。FavorMylikes 2016-04-06
该问题是关于Raspbian操作系统的,它是Linux。Midhun 2016-04-06
在mac机上为我工作sandy 2016-07-19
它在一个会话中起作用,但如果我退出并重新启动Python,我就必须重新做。Mostafa 2016-11-03
当我这样做时,我得到"ImportError: numpy.core.multiarray failed to import"。有什么建议吗?hiquetj 2017-02-06
#3楼
得票数 61

我使用下面的命令解决了我的问题。

conda install opencv
tarun kumar Sharma 提问于2016-02-22
如果你已经安装了Anaconda Python,这就是你要找的命令。kevinmicke 2016-06-28
我今天在Windows 64-bit 2.7 conda环境下试了一下,得到的结果是PackageNotFound errorMike Wise 2016-12-13
真正起作用的是conda install -c https://conda.binstar.org/menpo opencvMike Wise 2016-12-13
pip install opencv-python==4.6.0.66DanielBell99 2022-07-27
#4楼
得票数 47

试着在~/.bashrc中添加以下一行

export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH
lanpa 提问于2014-01-15
boop 修改于2016-07-24
谢谢,当我使用:export PYTHONPATH=/usr/local/python/2.7:$PYTHONPATH时,它对我起作用了。Ikbel 2015-09-13
#5楼
得票数 37

Python3.x的用户

sudo pip3 install opencv-python
Anoop Kumar 提问于2018-10-29
askubuntu.com/questions/802544/…Gulzar 2020-05-06
这对我来说也很有效。谢谢你(cuda 2204, cudnn 8.5.0, python 3.10.3)Sergiy Tupikin 2022-08-19
#6楼
得票数 35

对于Windows 10和Python 3.6,这对我来说是有效的。

pip install opencv-contrib-python

Amol Chavan 提问于2019-11-10
我在Linux(Ubuntu 16.04)上也能工作。FlorianH 2020-03-13
这也解决了我在Ubuntu上遇到的问题。Francesco Boi 2021-07-17
#7楼
得票数 28

上面的答案对我来说都不奏效。我都快疯了,直到我发现了下面这个解决方案!

只需运行即可。

sudo apt install python-opencv
Fatmajk 提问于2018-05-27
sudo apt install python3-opencv,适用于Ubuntu 20,将来也可能适用于其他系统Tõnu Samuel 2020-08-16
E: Unable to locate package python-opencv显示此错误Shurvir Mori 2021-11-09
#8楼
得票数 22

我使用下面的命令解决了我的问题。

pip install opencv-python
jincy mariam 提问于2019-08-12
Suraj Rao 修改于2019-08-12
#9楼
得票数 19
pip install opencv-python

pip install opencv-python3 

肯定会工作得很好。

sscswapnil 提问于2020-11-05
mkrieger1 修改于2023-01-14
#10楼
得票数 16

我通过运行解决它:

pip3 install opencv-python
tonysok 提问于2019-11-08
Captain Jack Sparrow 修改于2020-04-25
#11楼
得票数 10

我通过运行代码pip install opencv_contrib_python来解决这个问题。

Snow Albert 提问于2019-10-20
#12楼
得票数 9

简单地:

python -m pip install --upgrade pip

然后是

pip install opencv-python
Mohamed Fathallah 提问于2022-04-15
#13楼
得票数 8

我遇到了与此相同的问题,我安装了cv2,但我不知道该怎么办。

pip install cv2

但当我导入cv2模块时,显示没有名为cv2的模块的错误。
然后我搜索并在我的电脑中找到cv2.pyd文件,我复制并粘贴到site-packages目录

C:\Python27\Lib\site-packages

然后我关闭并重新打开了现有的应用程序,它就成功了。

编辑我将告诉你如何正确地安装cv2

1. 首先在你的电脑上安装numpy,方法是:

pip install numpy


2.从网上下载opencv(差不多266MB)。
我下载了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\x64

在这个文件夹中,取cv2.pyd,并将其复制到

C:\Python27\Lib\site-packages

现在你可以在你的Python脚本中使用cv2了。

Harun ERGUL 提问于2016-04-14
Harun ERGUL 修改于2016-05-09
我不认为通过pip安装的cv2包与openCV有任何关系,你确认吗?epsilones 2016-05-09
在EDIT部分,我谈到了如何正确安装opencv,如果你没有解决这个问题,我希望它能帮助你。Harun ERGUL 2016-05-09
当试图通过pip安装时,使用pip install opencv-python应该是可行的。Likith Reddy 2021-07-10
ERROR: Could not find a version that satisfies the requirement cv2 (from versions: none) ERROR: No matching distribution found for cv2Shurvir Mori 2021-11-09
#14楼
得票数 6

对于python3x的用户来说

$ sudo pip3 install opencv-python

对于python2x的用户来说

$ sudo pip install opencv-python
devp 提问于2022-01-03
这个答案在raspbian上对我不起作用,它安装得很好,但没能解决问题。user230910 2022-03-31
#15楼
得票数 5

如果想在虚拟环境中安装opencv。在终端运行命令以获得虚拟环境列表。

conda env list

或jupyter笔记本的命令是

!conda env list

然后更新你的anaconda,就可以了。

conda update anaconda-navigator
conda update navigator-updater

在你选择的环境路径中,安装opencv。

conda install -c ['environment path'] opencv

Juypter 笔记本

!conda install --yes --prefix ['environment path'] opencv
Shiva Manhar 提问于2018-06-02
Shiva Manhar 修改于2018-06-02
#16楼
得票数 5

如果你要从头开始建造,请看一下这个

你得到了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
>>> 

如果你的构建是正确的,那么我的步骤就会有帮助。

TheExorcist 提问于2018-12-05
TheExorcist 修改于2019-02-06
只有在@TheExorcist的帮助下,才能解决这个问题。Rodney Salcedo 2019-05-28
很高兴能帮助你 @RodneySalcedo ,但这是我们在链接时犯下的罪过,是无意识的。TheExorcist 2019-05-29
#17楼
得票数 2

创建一个虚拟环境,然后在那里安装open-cv。 这对我来说很有效。而且,创建一个虚拟环境是最好的做法。 创建一个虚拟环境。

python3 -m venv env

激活虚拟环境 对于Linux来说。

source env/bin/activate

现在就安装OpenCV和其他模块。

pip3 install opencv-python

同样,你可以为windows创建虚拟环境,然后安装opencv 更多关于虚拟环境。

Tushar 提问于2022-04-02
#18楼
得票数 0

试试这个吧。

sudo ldconfig

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

并在命令窗口中的opencv.conf处添加以下这一行

/usr/local/lib

那就这样吧。

sudo ldconfig

sudo nano /etc/bash.bashrc

并在命令窗口中的bash.bashrc处添加这两行字,而不是在命令窗口中的bash.bashrc

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

最后,重新启动你的Pi sudo reboot now

并试着import cv2

Tes3awy 提问于2016-07-25
你能解释一下为什么有这些步骤吗?它们与cv2有什么关系?Kishor Pawar 2020-01-31
#19楼
得票数 0

我让opencv安装并工作的另一个方法是在visual studio 2017 community里面。 Visual studio有一个很好的带调试的python环境。
所以从vs python env窗口我搜索并添加了opencv。我只是想分享一下,因为我喜欢在不同的电脑上尝试不同的方法。

VisualStudio2017 python environments with opencv

dcarl661 提问于2019-09-08
#20楼
得票数 0

我遇到了同样的问题,只是无法将 opencv2 和 opencv3 分别安装到 /opt/opencv 和 opencv3 中。 原来我的主目录中 opencv 的该死的 anaconda 安装首先在路径上并且破坏了 opencv。 删除它并开始使用 /etc/ld.so.conf.d/opencv.conf 中定义的 /opt/opencv3/lib。 首先完美地工作。 你有安装anaconda吗? 可能是问题所在。

Eamonn Kenny 提问于2016-08-15
Eamonn Kenny 修改于2020-04-17
你能告诉我,你是怎么做的吗?JaySabir 2020-08-20
#21楼
得票数 0

我知道你在Occidentalis上有这个问题,但是我在Windows上也有这个问题,而且我没有发现任何有用的东西。所以,如果你有windows系统,并且你已经安装了opencv,但你仍然得到一个导入错误,这个方法也许能解决这个问题。

我设法解决了这一问题,重新激活了Anaconda。

首先,我从PATH中删除了 your\path\to\anaconda3 和 your\path\to\anaconda3\Scripts (你以后会需要这些,所以要记住这些路径)

然后,如果你从cmd运行python,它就会说。

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.

然后在Anaconda提示符下,我运行了这些。

your\path\to\anconda3\Scripts\activate base 
conda activate --stack your\path\to\anaconda3

我不确定这是否是重新激活Anaconda的最简单的方法,但这是对我有用的方法。

david 提问于2020-08-05
#22楼
得票数 0

这是为那些使用ubuntu来运行他们的script.py的人准备的,你必须把cv2.so复制到你的python pachkages目录下,然后再把你的bachrc资源化。

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
amine.lannister 提问于2021-03-04
#23楼
得票数 0

这个问题有简单的解决方案

  1. 安装Anconda导航仪
  2. 然后进入环境并搜索"Opencv"。
  3. 添加 "勾选 "标记并应用安装
  4. 终于解决了这个问题

Like That

Sanka Geethanjana 提问于2022-06-09
#24楼
得票数 -1

我用下面的代码工作,工作得非常好。

pip install opencv-python==4.6.0.66在此输入图片描述

Moureen Caroline 提问于2022-09-18