使用 OpenCV 时找不到模块 cv2[重复]

2024-12-30 08:42:00
admin
原创
122
摘要:问题描述:我使用 jayrambhia 编写的脚本在 Raspberry Pi 上的 Occidentalis 操作系统(Raspbian 的一个变体)上安装了OpenCV。它安装了版本 2.4.5。当我尝试import cv2Python 程序时,收到以下消息:pi@raspberrypi~$ python...

问题描述:

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

当我尝试import cv2Python 程序时,收到以下消息:

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/libpython3.2的文件夹。python2.6

我该如何解决这个问题?这是由路径配置错误引起的吗?


解决方案 1:

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

解决方案 2:

当 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目录。如果您不想在代码中添加任何内容,这是一种解决方法。

解决方案 3:

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

conda install opencv

解决方案 4:

尝试添加以下行~/.bashrc

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

解决方案 5:

Python3.x 用户

sudo pip3 install opencv-python

解决方案 6:

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

pip install opencv-contrib-python

解决方案 7:

pip install opencv-python

或者

pip install opencv-python3 

一定会很好。

解决方案 8:

以上答案对我都不起作用。我快疯了,直到我找到了下面的解决方案!

只需运行:

sudo apt install python-opencv

解决方案 9:

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

pip install opencv-python

解决方案 10:

我通过运行来解决它:

pip3 install opencv-python

解决方案 11:

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

解决方案 12:

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

pip install cv2

但是当我导入 cv2 模块时,它显示没有名为 cv2 的模块错误。
然后我在电脑中

搜索并找到文件,然后将其复制并粘贴到 site-packages 目录中cv2.pyd

C:Python27Libsite-packages

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

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

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

pip install numpy

2.从互联网上下载opencv(大约 266 mb)。

我下载的opencv-2.4.12.exe是 python 2.7。然后安装这个 opencv-2.4.12.exe 文件。

我解压到C:UsersharunDownloads这个文件夹。安装后,进入文件夹

查找。对我来说cv2.py

C:UsersharunDownloadsopencvuildpython.7x64

在此文件夹中获取cv2.pyd并将其复制到

C:Python27Libsite-packages

现在您可以cv2在 Python 脚本中使用它了。

解决方案 13:

简单的

python -m pip install --upgrade pip

然后

pip install opencv-python

解决方案 14:

对于python3x用户

$ sudo pip3 install opencv-python

对于python2x用户

$ sudo pip install opencv-python

解决方案 15:

如果你是从头开始构建,请完成此操作

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

如果您的构建正确,我的步骤只会有所帮助。

解决方案 16:

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

conda env list

或者 jupyter notebook 命令是

!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

解决方案 17:

创建虚拟环境,然后在那里安装 open-cv。对我来说,这很管用。而且,创建虚拟环境是最佳实践。创建虚拟环境:

python3 -m venv env

激活虚拟环境对于 Linux:

source env/bin/activate

现在安装OpenCV和其他模块。

pip3 install opencv-python

以上适用于 Linux。同样,您可以为 Windows 创建虚拟环境,然后安装 opencv 有关虚拟环境的更多信息:

解决方案 18:

我安装了 opencv,并尝试升级 pip 和 opencv,但没有成功。这个对我有用

pip install opencv-contrib-python<4.6.0

解决方案 19:

对我来说,解决这个问题的最佳方法是安装python3-venv并创建一个新环境,然后安装我的软件包,因为这里介绍的任何方法都无法解决问题,并且总是导致相同的错误。也许我的解决方案对其他人有帮助:

1- install python3-venv
2- Create and activate new venv
3- pip3 install opencv-python

解决方案 20:

尝试一下:

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

最后重启你的 Pisudo reboot now

并尝试import cv2

解决方案 21:

我安装并运行 opencv 的另一种方法是在 visual studio 2017 社区中。Visual Studio 有一个不错的带有调试功能的 python 环境。

因此,我从 vs python env 窗口中搜索并添加了 opencv。我只是想分享一下,因为我喜欢在不同的计算机上尝试不同的方法。

VisualStudio2017 python 环境与 opencv

解决方案 22:

我遇到了同样的问题,只是无法弄清楚将 opencv2 和 opencv3 分别安装到 /opt/opencv 和 opencv3 中。结果发现,我主目录中的该死的 anaconda opencv 安装首先出现在路径上,并破坏了 opencv。删除它并开始使用 /opt/opencv3/lib,如 /etc/ld.so.conf.d/opencv.conf 中定义的那样。第一次使用就完美了。你安装了 anaconda 吗?可能是问题所在。

解决方案 23:

我知道您在使用 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 提示符下运行以下命令:

yourpath    oanconda3Scriptsactivate base 
conda activate --stack yourpath    oanaconda3

我不确定这是不是重新激活 anaconda 最简单的方法,但这对我来说很有效。

解决方案 24:

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

解决方案 25:

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

  1. 安装 Anconda Navigator

  2. 然后进入环境并搜索“ Opencv

  3. 添加勾号并应用安装

  4. 最终解决问题

就像那样

解决方案 26:

我使用了下面的代码,它运行得非常好;

pip 安装 opencv-python==4.6.0.66在此处输入图片描述

相关推荐
  政府信创国产化的10大政策解读一、信创国产化的背景与意义信创国产化,即信息技术应用创新国产化,是当前中国信息技术领域的一个重要发展方向。其核心在于通过自主研发和创新,实现信息技术应用的自主可控,减少对外部技术的依赖,并规避潜在的技术制裁和风险。随着全球信息技术竞争的加剧,以及某些国家对中国在科技领域的打压,信创国产化显...
工程项目管理   1565  
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   1354  
  信创国产芯片作为信息技术创新的核心领域,对于推动国家自主可控生态建设具有至关重要的意义。在全球科技竞争日益激烈的背景下,实现信息技术的自主可控,摆脱对国外技术的依赖,已成为保障国家信息安全和产业可持续发展的关键。国产芯片作为信创产业的基石,其发展水平直接影响着整个信创生态的构建与完善。通过不断提升国产芯片的技术实力、产...
国产信创系统   21  
  信创生态建设旨在实现信息技术领域的自主创新和安全可控,涵盖了从硬件到软件的全产业链。随着数字化转型的加速,信创生态建设的重要性日益凸显,它不仅关乎国家的信息安全,更是推动产业升级和经济高质量发展的关键力量。然而,在推进信创生态建设的过程中,面临着诸多复杂且严峻的挑战,需要深入剖析并寻找切实可行的解决方案。技术创新难题技...
信创操作系统   27  
  信创产业作为国家信息技术创新发展的重要领域,对于保障国家信息安全、推动产业升级具有关键意义。而国产芯片作为信创产业的核心基石,其研发进展备受关注。在信创国产芯片的研发征程中,面临着诸多复杂且艰巨的难点,这些难点犹如一道道关卡,阻碍着国产芯片的快速发展。然而,科研人员和相关企业并未退缩,积极探索并提出了一系列切实可行的解...
国产化替代产品目录   28  
热门文章
项目管理软件有哪些?
云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用