【问题标题】:why OpenCV only works with terminal and not VSCode?为什么 OpenCV 只适用于终端而不适用于 VSCode?
【发布时间】:2021-04-08 01:16:46
【问题描述】:

所以我有一个简单的 python 代码,可以使用 opencv 打开一个网络摄像头。

它在终端上运行良好,但是当我尝试在 vscode 中运行它时,我得到了这个:

> Traceback (most recent call last):   File
> "/Users/salahqamachi/Desktop/testing/ss/camera.py", line 2, in
> <module>
>     import cv2 ImportError: No module named cv2

我正在使用 MacOS Catalina 10.15、python 3.9(来自官方网站的最新版本)和安装了 python 扩展的 vscode。

我试过了:

  • 卸载并重新安装 python、vscode 和 opencv。
  • 从终端更新 python。
  • 在 vscode 的 setting.json 中添加了“python.linting.pylintArgs”:[“--generate-members”]”。
  • 尝试使用代码运行器和默认 vscode 的调试。
  • 用 command + shift + p 改变 python 解释器

再次,代码在终端中正常工作,但在 vscode 中不正常。

请评论我如何解决它的任何建议,谢谢。

【问题讨论】:

  • 在两种环境中检查sys.executable。一样吗?
  • 我运行它时得到这个,zsh: command not found: sys.executable
  • 这应该在 python 中完成。创建一个名为 mytest.py 的脚本,其中包含 import sys;print(sys.executable) 并在两个环境中运行它。你可能安装了不止一个 python,而 vccode 可能使用了一个没有 cv。
  • 它甚至没有在 vscode 上运行它说最后的换行符丢失(pylint)丢失了模块
  • 尝试在每个 shell 中输入 which python 以查看正在运行的解释器

标签: python macos opencv visual-studio-code terminal


【解决方案1】:

请在VSCode终端使用“pip show opencv-python”查看模块“cv”的安装位置,然后点击VSCode左下角的Python环境,更改为模块“cv”所在的环境已安装。

运行:

更多参考:Environment in VSCode.

【讨论】:

  • OP 希望在 VSCode 和终端已安装 OpenCV 的终端之间使用相同的环境。在不同的环境中安装 OpenCV 并不是他们想要的。
【解决方案2】:

我认为你的机器上安装的python不止一个,一个必须安装在VS代码之外,另一个安装在VS代码中。

而且您的 OpenCV 安装未映射到使用 vs 代码的 python 安装。

您需要在与OpenCV映射的VS代码中配置pyhon版本。

  1. 在 cmd 提示符下使用以下命令检查计算机中的所有 python 安装

where python

然后在python文件中使用下面的语句检查vs代码是映射到哪个版本的python ​

import sys
print(sys.executable)

如果 python 路径与安装的 openCV 不同,则需要按照下图进行更改

【讨论】:

    猜你喜欢
    • 2013-06-23
    • 1970-01-01
    • 2012-04-20
    • 2019-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-21
    • 1970-01-01
    相关资源
    最近更新 更多