ImportError:没有名为“cv2”Python3 的模块

Posted

技术标签:

【中文标题】ImportError:没有名为“cv2”Python3 的模块【英文标题】:ImportError: No module named 'cv2' Python3 【发布时间】:2018-01-20 11:17:03 【问题描述】:

我有这样的问题

(face_det) user@pc:~$ python3
Python 3.5.3 (default, Apr 22 2017, 00:00:00) 
[GCC 4.8.4] on linux
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

我在 python2 上没有:

(face_det) user@pc:~$ python2
Python 2.7.13 |Anaconda custom (64-bit)| (default, Dec 20 2016, 23:09:15) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org
>>> import cv2
>>> 

尽管我有opencv(我也尝试将其删除并安装):

(face_det) user@pc:~$ pip3 install opencv
Requirement already satisfied: opencv in ./.virtualenvs/face_det/lib/python3.5/site-packages
(face_det) user@pc:~$ conda install opencv
Fetching package metadata .........
Solving package specifications: .

# All requested packages already installed.
# packages in environment at /home/pc/anaconda3:
#
opencv                    3.2.0               np112py27_0    conda-forge

【问题讨论】:

在他们的 GitHub 上似乎有一个 open issue 关于这个问题以及一些修复它的建议。 是重复的吗:***.com/questions/19876079/… @Jean-FrançoisFabre 我认为他们引用了不同的问题。我不确定欺骗是否安全,我链接到的问题表明可能存在依赖性问题。 好的,不要滥用我的金徽章权力,也不要作为副本关闭。请注意,这个问题永远不会过时:) @Jean-FrançoisFabre 这当然是你的特权 :P 但在这个问题上,我认为某处可能存在真正的冲突。 【参考方案1】:

在 Windows 上你可以试试这个:

python3 -m pip install opencv-python

【讨论】:

【参考方案2】:

我遇到了类似的问题和同样的错误。就我而言,我使用的是 PyCharm。问题是项目的解释器指向不同的 Python 安装。

在我的系统中,我有四个版本的 python(例如,python3 安装在 python36 文件夹中,另一个 python 安装在 anaconda3 文件夹中等等)。在我的 PyCharm 项目中,当我检查我的设置时(在 File->Settings->Project:xxxx ->Project interpreter 下),我发现它们指向 anaconda3 文件夹中的解释器。

但是,我默认的pip 安装了opencv-python 模块在python36 文件夹下。因此,我只需将项目解释器更改为指向安装在python36 文件夹中的 python,它就可以工作了。

如果您想继续使用 Anaconda3,则必须浏览到 anaconda3 文件夹并在该文件夹中运行 pip install opencv-python

【讨论】:

【参考方案3】:

试试

sudo python3.5 -m pip install opencv-python

对我有用

【讨论】:

【参考方案4】:

试试

pip3 install opencv-python

获取cv2。我不确定opencv-python 何时可用。我一直在手动构建 opencv,但是当我几周前查看时,它就在那里。我在运行ubuntu/trusty64 的VM 中使用cv2 和Python3。

【讨论】:

pip install opencv-python 在 Python-3.10 以上的版本中也可以【参考方案5】:

pc:~$ 来看,我认为你在 Linux 上

尝试从以下链接安装:

http://docs.opencv.org/3.0-beta/doc/tutorials/introduction/linux_install/linux_install.html

它对我有用,希望对你也一样!

【讨论】:

【参考方案6】:

您的 conda openCV 已安装,供您的家庭 python2.7 使用。您通过 pip3 安装的 opencv 用于您的 face_det 虚拟环境。当您在第一个代码块中打开 python3 时,您看起来不像在那个虚拟环境中。试试

source activate face_det
python3
import cv2

【讨论】:

我只是没有选择那个文本,我在里面 当你在 face_det venv 中时,which python3 的输出是什么? /home/user/.virtualenvs/face_det/bin/python3 现在您编辑了问题,它清楚地表明您不在虚拟环境中,这是故意的吗? 如果您使用的是 linux,我建议您只使用 docker 容器并共享您的网络摄像头设备,如果您使用的是 mac,请尝试使用 homebrew 安装

以上是关于ImportError:没有名为“cv2”Python3 的模块的主要内容,如果未能解决你的问题,请参考以下文章

ImportError:执行Python脚本时没有名为cv2的模块[重复]

OpenCV for python。错误:没有名为cv2的模块

ImportError:libgthread-2.0.so.0:无法打开共享对象文件:使用 Docker 容器导入 cv2 时没有此类文件或目录

cv2 ImportError(原因:找不到图像)

CV2/ConfigParser

ImportError: dlopen(/Users/Desktop/myapp/target/myapp_mac/cv2/cv2.cpython-36m-darwin.so, 2)