vscode 加载模块时遇到问题

vscode having issues loading modules

最近我一直遇到 VScode 无法识别已安装模块的问题。

我正在使用 anaconda 2.1.2,虚拟环境有 python 3.8.12 和 VScode 是 win10 os.[=20= 上的版本 1.61.2 ]

我知道的两个模块是 kivy 和 opencv。 Pandas、numpy 和许多其他模块工作正常。

当我在编写 kivy 脚本时,我发现在尝试 运行 来自 VScode 的脚本时,我会得到一个 ModuleNotFoundError: No module named 'kivy' 错误并且 pylance 说 'Import "kivy" could not be resolved', kivy 有波浪形的下划线。但最终我发现,通过终端 运行ning 脚本就可以了。这是一个非常简单的测试脚本,所以我只是在没有正常工作的智能感知或 VScode 调试的情况下艰难地通过。但是现在我正尝试在新环境中使用 opencv 做一个更复杂的程序,同样的事情正在发生。

这是测试脚本:

import cv2

img = cv2.imread("galaxy.jpg",0)

print(type(img))
print(img)

当 运行 到 VScode 时,输出为:

    import cv2
ModuleNotFoundError: No module named 'cv2'

当 运行 通过 VScode 终端和 python script_test.py 我得到:

<class 'numpy.ndarray'>
[[14 18 14 ... 20 15 16]
 [12 16 12 ... 20 15 17]
 [12 13 16 ... 14 24 21]
 ...
 [ 0  0  0 ...  5  8 14]
 [ 0  0  0 ...  2  3  9]
 [ 1  1  1 ...  1  1  3]]

pip freeze 对于环境给出:

certifi==2021.10.8
mkl-fft==1.3.1
mkl-random @ file:///C:/ci/mkl_random_1626186184278/work
mkl-service==2.4.0
numpy @ file:///C:/ci_310/numpy_and_numpy_base_1643798589088/work
opencv-python==4.5.5.62
six @ file:///tmp/build/80754af9/six_1644875935023/work
wincertstore==0.2

我查看了几个类似的 posts,但我看到的唯一答案是使用不同的方法卸载和重新安装,即:conda install -c conda-forge opencvconda install opencv 或一些变体pip 命令,但 none 似乎改变了什么。

任何帮助解决这个问题将不胜感激。如果我必须按照我为 kivy 脚本所做的方式开发它,我会发疯的!

我不知道为什么会这样,但确实如此。

我通过右键单击并从包含脚本的文件夹启动来打开 vscode。弹出两个 windows 错误框,都说:

“此应用无法在您的 PC 上 运行。

要查找适用于您的 PC 的版本,请咨询软件发行商

点击确定后 VScode 在右下角给了我一个警告框,说没有安装中断器。所以我按下 shift+ctrl+P,为虚拟环境选择了中断器,vscode 看到了 opencv 并且一切正常。

我关闭了vscode再试了一遍,同样的windows个错误框,同样的成功结果。

没有这样打开vscode,我没有得到错误框,但是shift+crtl+p,选择完全相同的解释器没有效果,VScode仍然找不到opencv。

我可以处理在错误框上单击“确定”并认为此问题已解决,但如果有人知道为什么这有效,我会非常好奇。