在使用OpenCV时,无法找到cv2模块
我在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.2
和python2.6
的文件夹,如果这与此有关的话。
我怎样才能解决这个问题?这是由路径错误配置造成的吗?
pip install opencv-python==4.6.0.66
- DanielBell99 2022-07-27
首先在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
对于Python3.5+,请查看这些链接。Link3, Link4
更新:
如果你使用anaconda,你也可以简单地使用这个(因此不需要添加menpo通道)。
conda install -c conda-forge opencv
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 install --upgrade pip
这是我的wattle。
- mrk 2017-06-20
pip install opencv-python
对我有用,我没有Anaconda。只是为其他来这里的人提供参考。
- user6096242 2017-07-22
这种情况发生在Python无法引用你的默认站点软件包文件夹,而你在该文件夹中保存了所需的Python文件或库。
在代码中加入这几行。
import sys
sys.path.append('/usr/local/lib/python2.7/site-packages')
或者在bash中运行python命令之前,移动到/usr/local/lib/python2.7/Site-packages目录。如果你不想在代码中添加任何东西,这是一个解决方法。
我使用下面的命令解决了我的问题。
conda install opencv
PackageNotFound error
。
- Mike Wise 2016-12-13
conda install -c https://conda.binstar.org/menpo opencv
。
- Mike Wise 2016-12-13
pip install opencv-python==4.6.0.66
- DanielBell99 2022-07-27
试着在~/.bashrc
中添加以下一行
export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH
Python3.x的用户
sudo pip3 install opencv-python
对于Windows 10和Python 3.6,这对我来说是有效的。
pip install opencv-contrib-python
上面的答案对我来说都不奏效。我都快疯了,直到我发现了下面这个解决方案!
只需运行即可。
sudo apt install python-opencv
E: Unable to locate package python-opencv
显示此错误
- Shurvir Mori 2021-11-09
我使用下面的命令解决了我的问题。
pip install opencv-python
pip install opencv-python
或
pip install opencv-python3
肯定会工作得很好。
我通过运行解决它:
pip3 install opencv-python
我通过运行代码pip install opencv_contrib_python
来解决这个问题。
简单地:
python -m pip install --upgrade pip
然后是
pip install opencv-python
我遇到了与此相同的问题,我安装了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
了。
pip
安装的cv2
包与openCV
有任何关系,你确认吗?
- epsilones 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 cv2
- Shurvir Mori 2021-11-09
对于python3x的用户来说
$ sudo pip3 install opencv-python
对于python2x的用户来说
$ sudo pip install opencv-python
如果想在虚拟环境中安装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
如果你要从头开始建造,请看一下这个
你得到了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
>>>
如果你的构建是正确的,那么我的步骤就会有帮助。
创建一个虚拟环境,然后在那里安装open-cv。 这对我来说很有效。而且,创建一个虚拟环境是最好的做法。 创建一个虚拟环境。
python3 -m venv env
激活虚拟环境 对于Linux来说。
source env/bin/activate
现在就安装OpenCV和其他模块。
pip3 install opencv-python
同样,你可以为windows创建虚拟环境,然后安装opencv 更多关于虚拟环境。
试试这个吧。
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
我让opencv安装并工作的另一个方法是在visual studio 2017 community里面。 Visual studio有一个很好的带调试的python环境。
所以从vs python env窗口我搜索并添加了opencv。我只是想分享一下,因为我喜欢在不同的电脑上尝试不同的方法。
我遇到了同样的问题,只是无法将 opencv2 和 opencv3 分别安装到 /opt/opencv 和 opencv3 中。 原来我的主目录中 opencv 的该死的 anaconda 安装首先在路径上并且破坏了 opencv。 删除它并开始使用 /etc/ld.so.conf.d/opencv.conf 中定义的 /opt/opencv3/lib。 首先完美地工作。 你有安装anaconda吗? 可能是问题所在。
我知道你在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的最简单的方法,但这是对我有用的方法。
这是为那些使用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