安装OpenCV时出现“没有cv2.cv模块”的错误

3
我在尝试按照此处的Python指示进行操作。
第1步似乎已经成功,这是我运行了opencv.sh后从终端输出的最后5行:
h.h  
./opencv.sh: line 16: cmake: command not found
make: *** No targets specified and no makefile found.  Stop.
sudo: checkinstall: command not found
OpenCV 2.4.9 ready to be used

然而,当我进入第二步时,从命令行运行Python文件时出现了以下错误:
Traceback (most recent call last):
  File "opencvFirst.py", line 4, in '<'module'>'
    from cv2.cv import *
ImportError: No module named cv2.cv

这似乎不是我的问题,因为我找不到在我的计算机上安装的cv2任何内容,这很可能是问题的一部分,但我不知道为什么第一步没有安装它。
我认为这个问题更接近我需要的,但由于我已经完成了第一步,如上所述,我不知道从这些单独的说明开始。我尝试了import cv2但是得到了一个导入错误:no module cv2。
我对Ubuntu、Python和所有这些命令行东西都非常陌生,感谢您的帮助!
哦,还有,我应该说:我的最终目标只是让OpenCV工作,所以如果有更简单/更好的方法,我非常愿意听取建议。

1
除了下面 @julienc 的回答之外,请避免使用旧的 cv2.cv 模块,它在下一个 OpenCV 版本中将不存在。 - berak
3个回答

1
安装python-opencv软件包,您应该能够解决问题。
sudo apt-get install python-opencv

1
你确定安装成功了吗?因为在你的第一步中,我只看到了:
cmake: command not found
checkinstall: command not found

因此,也许你应该检查是否已经安装了 cmakecheckinstall,如果没有,请在重试 opencv.sh 命令之前安装它们:

sudo apt-get install cmake checkinstall
sudo ./opencv.sh

'apt-get cmake' 给我返回:E: 无效的操作 cmake,checkinstall 同样如此。 - lnhubbell

0

如果您遇到以下错误:“ImportError: No module named cv2”,这里是AWS(Linux)的解决方案:

首先,请确保在ASW Sagemaker Jupiter(Linux)上使用kernel=tensorflow_p36安装了openCV。

  1. 在主AWS sagemaker终端中,打开新的Jupyter笔记本,选择“新建终端”。这将打开命令提示符而不是常规的Jupyter笔记本。
  2. 在终端命令行中输入以下命令以先激活环境,然后安装opencv

conda environments(查看和理解您拥有的环境。这些也是您Jupyter笔记本中的内核)。

source activate tensorflow_p36(这是一个使用Python 3.6的示例。您的命令行应更改为(tf_p36))

pip install --upgrade pip    (in case your pip is not latest version)

pip install opencv-python   (this hopefully installs the openCV)

回到常规的Jupyter窗口,将内核更改为上述并编译代码!

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