【问题标题】:Installed OpenCV but no module found "cv2" in IDLE已安装 OpenCV,但在 IDLE 中未找到“cv2”模块
【发布时间】:2016-12-14 00:29:08
【问题描述】:

我多年来一直在尝试安装 OpenCV,最后我成功使用了这个教程:http://www.pyimagesearch.com/2016/12/05/macos-install-opencv-3-and-python-3-5/

但是,每当我尝试在 IDLE 中导入 cv2 时,都找不到它,但我确定我安装了 OpenCV。

cv2.so 文件存在于: /usr/local/lib/python3.5/site-packages/cv2.so

我相信这可能与解释器有关,但我不确定如何解决它。在终端中,当我尝试导入它时,它可以工作。我包含了终端消息来证明这一点。

感谢任何帮助。谢谢。

【问题讨论】:

    标签: python opencv installation


    【解决方案1】:

    好的,我找到了答案!激活虚拟环境后:

    work on cv
    

    在终端上输入这个以打开当前虚拟环境的 IDLE

    python -c "from idlelib.PyShell import main; main()"
    

    python -m idlelib
    

    它会成功的!

    【讨论】:

    • 谢谢!!!它就像一个魅力!您能向我解释一下这些命令的作用吗?每次我想在 IDLE 中使用 opencv 时都必须运行这些命令吗?干杯!
    • 不客气!当然。您需要先了解虚拟环境。通过在 cv 上键入 work,您将激活虚拟环境(安装了 openCv)。现在,当您在终端上键入 python 时,您实际上是在使用与 openCV 一起安装的这个 python(虚拟环境)。 Idle 是 python 的内置模块。因此 python -m idlelib 使用您的终端版本打开 IDLE,该版本恰好是使用 opencv 激活的虚拟环境。您可以编写一个 bash 脚本,当您双击它时,它会为您执行此操作。如果你不知道怎么问。
    【解决方案2】:

    愚蠢的方法,但您的 IDLE 是否与终端运行相同的 python 环境?

    【讨论】:

    • 我认为您在这里搞砸了:重要提示:仔细检查此输出。如果您看到 /usr/local/bin/python3 ,那么您正确地使用了 Python 的 Homebrew 版本。但是,如果输出是 /usr/bin/python3,那么您错误地使用了 Python 的系统版本。如果你发现自己使用的是 Python 的系统版本而不是 Homebrew 版本,你应该: 确保 Homebrew 安装没有错误。
    • 我不知道如何检查IDLE和终端是否运行相同的环境。 Python3 肯定是用 Homebrew 正确安装的。我找到了一种解决方法,我在 IDLE 中编辑并通过执行以下命令在终端中运行脚本:workon cv –> cd /Directory_of_py_file –> python filename.py
    • 每个 Python 版本都安装了不同版本的 IDLE。根据您在 Mac OS X 上安装 Python 的方式,您可能会在 /Applications 中找到不同的文件夹。查找其中包含 IDLE 的 Python 3.n(n = 5 或 4)文件夹。或者,从终端命令行。问题是 IDLE 正在使用您的系统环境,当您在终端上键入 workon cv 时,您使用的是虚拟环境。您的解决方法是人们通常如何在多个环境中运行 python 脚本。我建议您使用 Python 语法插件查看 Sublime 或 Atom for Editors。
    猜你喜欢
    • 2016-06-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-05
    • 2020-12-25
    • 1970-01-01
    • 2014-12-23
    • 2016-10-04
    • 1970-01-01
    相关资源
    最近更新 更多