ChatGPT解决这个技术问题 Extra ChatGPT

使用 OpenCV 时找不到模块 cv2

我在 Raspberry Pi 上的 Occidentalis 操作系统(Raspbian 的一种变体)上安装了 OpenCV,使用的是找到的 jayrambhia 脚本 here。它安装了 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.2 和 python2.6 的文件夹,这可能是个问题,但我不确定。

这可能是路径错误吗?任何帮助表示赞赏,我是 Linux 新手。

尝试:python --version。如果它说 3.2,那么你得到了一个提示。尝试定位 2.7 可执行文件,并使用绝对路径调用它
对于 macOS 10.12 和 python 3,下面的简单命令可以解决错误:pip install opencv-python 参考:pypi.python.org/pypi/opencv-python
如果您使用的是 macOS Catalina,也许这可以帮助您stackoverflow.com/a/61578366/11559619

H
Hossein

首先在终端/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 

Link1 Link2

对于 python3.5+,请检查以下链接:Link3Link4

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

conda install -c conda-forge opencv

对于 linux,您应该输入“pip install opencv-python”或“sudo pip install opencv-python”
你命令错了。它是 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方式。
如果在安装时遇到问题,请确保您拥有最新版本的 pip pip install --upgrade pip 这是我的观点
pip install opencv-python 适合我,但我没有 Anaconda。仅供任何来这里的人参考。
M
Midhun

当 python 无法引用您保存所需 python 文件或库的默认站点包文件夹时,就会发生这种情况

在代码中添加这些行:

import sys

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

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


你在windows上工作吗?这条路径看起来像linux系统。
问题是关于 Raspbian OS,即 Linux。
在mac机器上为我工作
它适用于一个会话,但如果我退出并重新启动 python,我必须再做一次。如何保存这个修改?
当我这样做时,我得到“ImportError: numpy.core.multiarray failed to import”。有什么建议么?
t
tarun kumar Sharma

我使用以下命令解决了我的问题:

conda install opencv

如果您安装了 Anaconda Python,这就是您要查找的命令。
我今天在 Windows 64 位 2.7 conda 环境中进行了尝试,得到了 PackageNotFound error
起作用的是conda install -c https://conda.binstar.org/menpo opencv
b
boop

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

export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH

谢谢,它在使用时对我有用:export PYTHONPATH=/usr/local/python/2.7:$PYTHONPATH
A
Anoop Kumar

Python3.x 用户

sudo pip3 install opencv-python

A
Amol Chavan

对于 Windows 10 和 Python 3.6,这对我有用

pip install opencv-contrib-python


在 Linux(Ubuntu 16.04)上也为我工作
这也解决了我在 Ubuntu 上的问题。
F
Fatmajk

以上答案都不适合我。我快疯了,直到我在下面找到了这个解决方案!

只需运行:

sudo apt install python-opencv

sudo apt install python3-opencv for Ubuntu 20 和未来可能的其他版本
E: Unable to locate package python-opencv 显示此错误
S
Suraj Rao

我使用以下命令解决了我的问题:

pip install opencv-python

S
SSCSWAPNIL
pip install opencv-python

或者

pip install opencv-python3 

肯定会正常工作


t
tsuresh97

这将是您的解决方案:

pip install opencv-contrib-python

奇迹般有效....!


C
Captain Jack Sparrow

我通过运行解决它:

pip3 install opencv-python

S
Snow Albert

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


H
Harun ERGUL

我遇到了同样的问题,我安装了 cv2

pip install cv2

但是,当我导入 cv2 模块时,它显示没有名为 cv2 的模块错误。
然后我在我的计算机中搜索并找到 cv2.pyd 个文件,然后复制并粘贴到站点包目录

C:\Python27\Lib\site-packages

然后我关闭并重新打开现有的应用程序,它工作。

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

1.首先在您的计算机上安装numpy

pip install numpy


2. 从互联网下载 opencv(大约 266 mb)。
我为 python 2.7 下载了 opencv-2.4.12.exe。然后安装这个 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


我认为通过 pip 安装的软件包 cv2openCV 没有任何关系,您确认吗?
@Newben 抱歉回复晚了。在编辑部分我谈论如何正确安装 opencv。如果您还没有解决问题,我希望它会对您有所帮助
尝试通过 pip 安装时,使用 pip install opencv-python 应该可以工作。
ERROR: Could not find a version that satisfies the requirement cv2 (from versions: none) ERROR: No matching distribution found for cv2
S
Shiva Manhar

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

conda env list

或 jupyter notebook 命令是

!conda env list

然后更新你的蟒蛇。

conda update anaconda-navigator
conda update navigator-updater

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

conda install -c ['environment path'] opencv

Juypter 笔记本

!conda install --yes --prefix ['environment path'] opencv

T
TheExorcist

如果您是从头开始构建,请通过此

你得到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 的帮助下才能解决这个问题
很高兴帮助你@RodneySalcedo,但链接是罪过,我们无意识地承诺。
U
Udesh Ranjan

对于 python3x 用户

$ sudo pip3 install opencv-python

对于 python2x 用户

$ sudo pip install opencv-python

这个答案在 raspbian 上对我不起作用,它安装得很好,但没有解决问题。
M
Mohamed Fathallah

简单的

python -m pip install --upgrade pip

然后

pip install opencv-python

S
Sanka Geethanjana

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

安装 Anconda Navigator 然后转到环境并搜索“Opencv”添加勾选标记并应用安装最后解决问题

https://i.stack.imgur.com/MSnCx.jpg


T
Tes3awy

试试这个:

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 中添加这两行而不是在命令窗口中

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

最后重启你的 Pi sudo reboot now

并尝试import cv2


你能解释一下为什么这些步骤吗?它们与 cv2 有什么关系?
d
dcarl661

我让 opencv 安装和工作的另一种方式是在 Visual Studio 2017 社区内。 Visual Studio 有一个不错的 Python 调试环境。因此,我从 vs python env 窗口中搜索并添加了 opencv。只是想我会分享,因为我喜欢在不同的计算机上尝试不同的方式。

https://i.stack.imgur.com/qxSQA.png


E
Eamonn Kenny

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


你能告诉我你是怎么做到的吗?
d
david

我知道你遇到了 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 的最简单方法,但这对我有用。


a
amine.lannister

这是为那些使用 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

t
tushar

创建一个虚拟环境,然后在那里安装 open-cv。它对我有用。而且,最好的做法是创建一个虚拟环境。创建虚拟环境:

python3 -m venv env

激活虚拟环境 对于 Linux:

source env/bin/activate

现在安装 OpenCV 和其他模块。

pip3 install opencv-python

以上将适用于linux。同样,您可以为 windows 创建虚拟环境,然后安装 opencv 更多关于虚拟环境:

https://docs.python.org/3/library/venv.html

https://www.geeksforgeeks.org/creating-python-virtual-environment-windows-linux/


关注公众号,不定期副业成功案例分享
关注公众号

不定期副业成功案例分享

领先一步获取最新的外包任务吗?

立即订阅