我使用下面的设置

macOS v10.14 (Mojave) Python 3.7.1 Visual Studio Code 1.30 2.2.2 Pylint Django 2.1.4

我想使用linting使我在Visual Studio Code中的工作更容易一些。然而,对于每一个进口,我都有“未解决的进口”的状态。即使是默认的Django导入(即从Django .db导入模型)。

我认为这是因为它没有看到虚拟环境的Python文件。

一切都很好,但它开始变得烦人。

我选择的解释器都是Python的系统版本。它似乎根本看不到我的虚拟环境Python(它与我的工作空间不在同一个目录中,因此这部分是有意义的)。

如果我设置好python。设置中的PythonPath。Json文件,它只是忽略它,没有列出我的虚拟环境路径作为一个选项。我还尝试在我的全局Python设置中设置它,但它也没有显示。

有没有快速修复方法让它工作?


当前回答

在我的例子中,我已经激活了一个Conda环境,但我仍然希望本地Python模块可以用于自动补全、查看定义等。

我尝试了许多解决方案,如添加Python路径列表等,但最终为我解决这个问题的是创建一个符号链接,从Conda的lib/ Python{你的版本}/site-packages到我的本地模块。

其他回答

我能够通过在.vscode\settings.json中启用jedi来解决这个问题

"python.jediEnabled": true

参考来自https://github.com/Microsoft/vscode-python/issues/3840#issuecomment-456017675

您需要选择与虚拟环境关联的解释器。

点击这里(在底部状态栏):

然后选择您正在使用的虚拟环境。完成了。

有时,即使选择了解释器,它也无法工作。只要再重复这个过程,应该就能解决问题了。

当导入自己的模块时,接受的答案不会修复错误。

在你的工作空间设置.vscode/settings.json中使用以下设置:

"python.autoComplete.extraPaths": ["./path-to-your-code"],

参考:故障排除,未解决的导入警告

我用命令行python解决了这个问题。 我在项目路径中使用vs code终端安装了模块,但当在windows命令行python上导入模块时,会抛出一个错误,因为此模块未定义 所以我从命令行安装这些模块,我的问题解决了。

我想知道这个问题有多少解决方案(或没有),我尝试了上面的大部分,没有任何工作,唯一有效的解决方案是将python语言服务器设置为Jedi,而不是在设置中设置Microsoft。json文件:

"python.languageServer": "Jedi"