ImportError: 找不到名为 'cv2' 的模块 Python3

22

我有这样一个问题

(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上似乎有一个关于此问题的未解决问题,并提出了一些修复建议。 - roganjosh
这是一个重复的问题吗:https://dev59.com/Q2Ij5IYBdhLWcg3wy4DH - Jean-François Fabre
@Jean-FrançoisFabre 我认为他们在引用不同的问题。我不确定是否安全复制,我链接的问题表明可能存在依赖性问题。 - roganjosh
2
好的,我不会滥用我的金徽章权限,也不会将其关闭为重复问题。请注意,这个问题永远不会过时 :) - Jean-François Fabre
@Jean-FrançoisFabre 当然这是你的权利 :P 但在这个问题上,我认为可能确实存在冲突。 - roganjosh
6个回答

44

尝试

pip3 install opencv-python

获取cv2。我不确定何时opencv-python变得可用。我之前一直手动构建opencv,但数周前我看到它已经存在了。我正在使用ubuntu/trusty64运行的VM中的Python3与cv2


在Python-3.10以上的版本中,pip安装opencv-python也是可以的。 - gogog

6

请尝试

sudo python3.5 -m pip install opencv-python

它对我有效


2
在Windows上,您可以尝试这样做:

python3 -m pip install opencv-python

0

0

我曾经遇到过类似的问题和同样的错误。在我的情况下,我使用的是PyCharm。问题在于项目的解释器指向了不同的Python安装。

在我的系统中,我有四个版本的Python(例如,python3安装在一个名为python36的文件夹中,另一个Python安装在一个名为anaconda3的文件夹中以及其他版本)。在我的PyCharm项目中,当我检查我的设置(在“文件”->“设置”->“项目:xxxx”->“项目解释器”下)时,我发现它们指向了anaconda3文件夹中的解释器。

然而,我的默认pipopencv-python模块安装在python36文件夹下。因此,我只需要更改项目解释器,使其指向安装在python36文件夹中的Python即可。

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


0

你的conda openCV已经安装,可以被你的home python2.7使用。你通过pip3安装的opencv是为了在face_det虚拟环境中使用。当你打开第一个代码块时,似乎你并没有进入那个虚拟环境。请尝试:

source activate face_det
python3
import cv2

我只是没有选择那段文本,我还在里面。 - Firsttry
当你在 face_det venv 中时,which python3 的输出是什么? - pale bone
/home/user/.virtualenvs/face_det/bin/python3 - Firsttry
现在你编辑了问题,很明显你不在虚拟环境中,这是故意的吗? - pale bone
我建议如果你使用的是Linux系统,只需使用docker容器并共享你的网络摄像头设备;如果你使用的是Mac系统,则尝试使用Homebrew安装。 - pale bone

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接