使用 OpenCV 时找不到模块 cv2[重复]
- 2024-12-30 08:42:00
- admin 原创
- 122
问题描述:
我使用 jayrambhia 编写的脚本在 Raspberry Pi 上的 Occidentalis 操作系统(Raspbian 的一个变体)上安装了OpenCV。它安装了版本 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
我该如何解决这个问题?这是由路径配置错误引起的吗?
解决方案 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。我只是想分享一下,因为我喜欢在不同的计算机上尝试不同的方法。
解决方案 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:
这个问题有简单的解决方案
安装 Anconda Navigator
然后进入环境并搜索“ Opencv ”
添加勾号并应用安装
最终解决问题
解决方案 26:
我使用了下面的代码,它运行得非常好;
pip 安装 opencv-python==4.6.0.66