使用OpenCV时无法找到模块cv2

我已经在树莓派上的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的文件夹,这可能是一个问题,但我不确定。

也许这是路径错误?任何帮助都是感激的,我是Linux新手。

1679640 次浏览

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

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

当python无法引用您的默认site-packages文件夹时,就会发生这种情况,该文件夹中保存了所需的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

我在安装cv2时遇到过同样的问题

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

C:\Python27\Lib\site-packages

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

<强>编辑 我将告诉如何正确安装cv2

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

pip install numpy
< p > < br > 2.从互联网下载opencv(几乎266 mb)。 我下载了python 2.7的opencv-2.4.12.exe。然后安装opencv-2.4.12.exe文件 我解压到C:\Users\harun\Downloads到这个文件夹 安装完成后,在文件夹中查找cv2.py。对我来说< br > < / p >
C:\Users\harun\Downloads\opencv\build\python\2.7\x64

在这个文件夹中,取__abc0并将其复制到

C:\Python27\Lib\site-packages

现在你可以在你的python脚本中使用cv2

试试这个吧:

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

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

首先在Terminal/CMD中运行这些命令:

conda update anaconda-navigator
conda update navigator-updater

然后下面指令的问题将得到解决

对于windows,如果你安装了蟒蛇,你可以简单地做

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

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

conda install -c conda-forge opencv

上面的答案对我都没用。我快疯了,直到我发现下面这个解决方案!

简单地运行:

sudo apt install python-opencv

如果想在虚拟环境中安装opencv。

.在终端中执行命令获取虚拟环境列表
conda env list
< p >或 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

Python3。x用户

sudo pip3 install opencv-python

如果您正在从头开始构建,请从头开始

你得到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。所以文件是否存在

这里我抛出输出。

    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
>>>

我的步伐只会有帮助,如果你的建造是正确的。

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

pip install opencv-python
我得到opencv安装和工作的另一种方式是在visual studio 2017社区。 Visual studio有一个很好的python调试环境 所以从vs python env窗口中我搜索并添加了opencv。 只是想分享一下,因为我喜欢在不同的电脑上尝试不同的方法

VisualStudio2017 python environments with opencv

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

我通过跑步来解决这个问题:

pip3 install opencv-python

对于Windows 10和Python 3.6,这对我来说是可行的

pip install opencv-contrib-python

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

我设法解决了这个问题,重新激活了水蟒。

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

然后如果你从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

我不确定这是否是让水蟒重新活跃起来的最简单的方法,但这对我来说是有效的。

pip install opencv-python

pip install opencv-python3

肯定能正常工作吗

这是为那些使用ubuntu运行script.py的人准备的 你必须复制cv2。在你的pythonpachages目录下,然后是resourcing你的bachrc。 : < / p >

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

对于python3x用户

$ sudo pip3 install opencv-python

对于python2x用户

$ sudo pip install opencv-python
创建一个虚拟环境,然后在其中安装open-cv。 这对我很管用。而且,创建虚拟环境是最佳实践。 创建虚拟环境:

.使用实例
python3 -m venv env

激活虚拟环境 Linux: < / p >

source env/bin/activate

现在安装OpenCV和其他模块。

pip3 install opencv-python

以上将适用于linux。 类似地,您可以为windows创建虚拟环境,然后安装opencv 关于虚拟环境的更多信息:

容易

python -m pip install --upgrade pip

然后

pip install opencv-python

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

  1. 安装Anconda Navigator
  2. 然后去环境搜索“Opencv"
  3. 添加标记和应用安装
  4. 最终解决问题

Like That

我使用下面的代码,它工作得非常好;

pip install opencv-python==4.6.0.66enter image description here