在python中获取ModuleNotFoundError,尽管包在虚拟环境中存在

时间:2019-08-23 10:04:48

标签: visual-studio-code python-3.6 intellisense

我是python的新手,正在使用Visual Studio Code编写我的第一个python文件。直到昨天,代码运行良好。但是今天它开始提供ModuleNotFoundError了。我仔细检查了该程序包,该程序包位于虚拟环境的lib文件夹下。此外,IntelliSense也可以正常工作,每当我编写导入时,它就会在可用列表中显示请求模块。我也遇到了IntelliSense的问题,因为有时它会无缘无故地停止工作。

我在执行代码之前所做的主要更改是将GitLab与我的项目集成。

Python Version: 3.6.2
Operating System: Windows
Git Version: 2.23.0
Pylint Version: 2.3.1
pip Version: 19.2.2
Requests Version: 2.22.0
Pytest Version: 5.1.1

已启用的扩展程序:

Npm
Npm Intellisense
Ayu
Code Runner
AYU
Markdownlint
Predawn Themekit
Python by Microsoft

有人能遇到同样的问题吗?请帮助我解决此问题。

附件 enter image description here

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:0)

问题已解决,我正在使用Ctrl+Alt+N (code-runner shortcut to run a project)运行该问题,此问题已得到解决。但是使用Run Python File in Terminal (option in the context menu when we do right-click in source .py file)在终端中运行文件可以得到预期的结果,而不会出现任何错误。

然后,我搜索了如何更改此行为,以便我也可以通过使用Ctrl+Alt+N获得相同的结果。

我发现了;我需要在用户的settings.json下添加以下脚本。

"code-runner.executorMap": {
        "python": "h:\\practice\\virtualenv\\Scripts\\activate.bat && python -u"
    }

这是我完整的用户的settings.json

{
    "workbench.colorTheme": "Predawn",
    "workbench.iconTheme": "ayu",
    "window.zoomLevel": 0,
    "code-runner.executorMap": {
        "python": "h:\\practice\\virtualenv\\Scripts\\activate.bat && python -u"
    }
}