我使用下面的设置

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设置中设置它,但它也没有显示。

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


当前回答

当我执行>重载窗口时,它就修复了。

参考:Python未解决的导入问题#3840,dkavraal的评论

其他回答

如果你的设置中有这个代码。Json文件,删除它:

{
    "python.jediEnabled": false
}

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

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

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

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

这里没有一个答案为我解决了这个错误。代码可以运行,但我不能直接跳转到函数定义。只针对某些本地包裹。首先,python。jediEnabled不再是有效选项。我做了两件事,但我不确定第一件事是否必要:

下载Pylance扩展,更改python。languageServer到“Pylance” 添加“python.analysis。extraPaths": ["path_to/src_file"]

显然,根和src将检查本地包,但其他包必须添加到这里。

我曾以三种方式面对这个问题。虽然在这个问题的答案中,每个问题都有一个解决方案,但我只是想把它们放在一起。

First I got an "Unresolved Import" while importing some modules and I noticed that my installations were happening in global pip instead of the virtual environment. This issue was because of the Python interpreter. You need to select the interpreter in Visual Studio Code using Shift + Ctrl + P and then type Select Python Interpreter. Select your venv interpreter here. The second issue was: The above change did not resolve my issue completely. This time it was because of file settings.json. If you don't have the settings.json file in your project directory, create one and add the following line in that: { "python.pythonPath": "apis/bin/python" } This will basically tell Visual Studio Code to use the Python interpreter that is in your venv. The third issue was while importing a custom Python module or file in another program. For this you need to understand the folder structure. As Python in venv is inside bin, you'll need to specify the folder of your module (most of the time the application folder). In my case it was app, from app.models import setup_db Verbally, import setup_db from models.py resides in the app folder.

我有一个库,在尝试使用Jedi语言服务时出错,没有它也能正常工作(即c#的那个)。

这个库是jsonslicer,它依赖于我安装在/usr/local/lib中的一个外部C库会不会跟这个有关?

我在Conda环境中安装了Jedi服务和库,并在Visual Studio中使用该环境。它在运行时和在我的终端上工作得很好,但在检查源文件中的问题时却不是这样,它显示为一个错误。