【问题标题】:OpenCV 3.4.1 on Mac through Anaconda - - package not foundMac上通过Anaconda的OpenCV 3.4.1--找不到包
【发布时间】:2018-07-30 20:51:00
【问题描述】:

我正在运行已成功安装 OpenCV ver.3.4.1 的 Anaconda virenv。在 python 提示符下,我可以import cv2 并可以根据下面的命令行确认它的版本:

Python 3.6.6 |Anaconda, Inc.| (default, Jun 28 2018, 11:07:29) 
[GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
'3.4.1'

但是,在 VSCode 中,我运行以下简单程序并收到错误:

import numpy as numpy
import argparse
import cv2

pass

错误是:

Traceback (most recent call last):
  File "detect_faces.py", line 3, in <module>
    import cv2
ModuleNotFoundError: No module named 'cv2'

我不明白为什么命令行导入有效,但是来自 VSCode 的程序无法导入相同的包。

关于这个主题有多个 SO Q&A,但它们都非常敏感的时间/日期和平台特定 - 大多数处理包本身在任何地方都无法识别的情况。最接近的问题是this one,它来自 2015 年,涉及 Android 平台。有什么想法吗?

更新

安装的版本应该是3.5.5,但是我注意到在从anaconda启动的命令提示符中显示为Python 3.5.5 :: Anaconda, Inc.,而VSCode中显示的版本是Python 3.6.5 :: Anaconda, Inc.。当我查看 VSCode 中可用的环境时,它显示了一些 2.7 和几个 3.6 版本——包括我正在使用的 3.6.5。

我刚刚安装了一个新的 Python 3.6 环境,并注意到命令提示符报告 Python 3.6.6 而来自 sys 检查的输出报告 Python 3.6.5 -- 同样,两者都有相同的可执行文件路径。

【问题讨论】:

  • VSCode 运行的是 Anaconda Python 3.6.6 吗?如果您不知道如何检查,请尝试将 import sys; print(sys.version, sys.executable) 添加到脚本顶部,并在命令行中运行相同的操作,然后告诉我们他们各自说的内容。
  • 如果这不是问题:您是否使用虚拟环境(conda envvirtualenvvenv)?如果是这样,VSCode 是否可能使用与您在命令行上激活的环境不同的环境?如果您不知道如何检查,请尝试添加import sys; print(sys.path),并告诉我们他们每个人都说了些什么。
  • @abarnet - 你在正确的轨道上......安装的版本应该是 3.5.5,但我注意到在从 anaconda 启动的命令提示符中它显示为 Python 3.5.5 :: Anaconda, Inc. 而版本VSCode 中显示的是Python 3.6.5 :: Anaconda, Inc.。当我查看 VSCode 中可用的环境时,它显示了一些 2.7 和几个 3.6 版本——包括我正在使用的 3.6.5。现在我知道了问题所在 - 不知道如何解决。
  • 从命令提示符报告Python 3.5.5,从sys print 的VSCode 输出报告Python 3.6.5,从VSCode 报告Python 3.6.6。加号-所有三个都报告相同的可执行路径。 ?
  • 好的,您至少安装了四个 Python 副本。第一个问题是:您是否想要所有其他 Python?如果没有,最简单的做法是卸载除您想要的以外的所有内容。或者,如果您还没有真正开始,也许只需卸载 所有 它们,然后干净地重新安装您想要的。这肯定比将所有内容配置为使用相同的 Python 并确保您不会意外使用其他 Python 更简单。

标签: python opencv visual-studio-code


【解决方案1】:

虽然我无法复制同样的错误,但我确实确定它与numpy 的安装有关。无论出于何种原因,它最初在 venv.xml 中安装并降级了 Python 版本。然后在升级 python 时,它创建了一个不匹配。修复方法是在同一命令行中通过 pip install 重新创建所有三个包的 venv。当一次安装所有三个包时,所有包都协调 - - 我不知道是否还有另一个变量 - 我无法重新创建原始错误。

【讨论】:

    猜你喜欢
    • 2016-08-25
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    • 2015-11-08
    • 1970-01-01
    • 2014-05-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多