未解决的导入错误 - Python虚拟环境
未解决的导入错误 - Python虚拟环境
我正在使用以下设置:
- macOS v10.14(Mojave)
- Python 3.7.1
- Visual Studio Code 1.30
- Pylint 2.2.2
- Django 2.1.4
我想在Visual Studio Code中使用linting来使我的生活更轻松一些。然而,对于每个导入,我都会看到"unresolved import"的状态。即使是默认的Django导入(例如from django.db import models)也是如此。
我推测这是因为它没有看到虚拟环境中的Python文件。
一切都运行得很好,但这开始变得烦人。
我可以选择的解释器都是系统版本的Python。它似乎完全看不到我的虚拟环境Python(它不在与我的工作空间相同的目录中,所以这一点是有道理的)。
如果我在settings.json文件中设置python.PythonPath,它会忽略它,并且不会将我的虚拟环境路径列为选项。我还尝试在全局Python设置中设置它,但它也没有显示。
有没有快速解决方法可以使它工作?
在使用Python虚拟环境时遇到了"Unresolved import error"错误,下面是一些解决方法:
1. 使用命令界面进行操作:
Cmd/Ctrl + Shift + P → Python: Select Interpreter → 选择包含需要的包的解释器。
2. 在Visual Studio 2019中,尝试在安装包后重新打开VS。
3. 检查Python解释器的路径是否正确。在Windows 10中,Python安装在系统应用中,site-packages
在'C:\\Users\\User\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python39\\site-packages'目录下,因此可以尝试选择\User\AppData\Local\microsoft..
目录下的解释器,而不是program files/windowsapps/python..
目录下的解释器。
4. 如果使用了虚拟环境,可以将解释器路径设置为./bin/python
。
希望以上方法能够解决这个问题。
在你的工作区设置中,你可以像这样设置你的Python路径:
{ "python.defaultInterpreterPath": "/path/to/your/venv/bin/python", }
这样做有点起作用。对于Python特定的引入,它可以解决这些问题,但对于我自己的模块(例如,"from users.models import User"),它仍然会显示无法解析。你对此有什么想法?
不确定。请尝试重新加载vs code窗口(从shell中运行code <project_directory> -r
)或者重启vscode。
是的,我尝试过所有这些,但出于某种原因它仍然无法识别它们。不确定出了什么问题。
我不确定,有时候如果工作区目录没有正确设置,可能会出现这种情况。请确保manage.py
在workspace
的根目录中。还请确保pylint已经正确配置。
你太棒了!原因是因为我的工作区没有从项目的根目录开始。一旦我调整了它,它就开始工作了。非常感谢!
非常感谢!帮助我解决了一个古老的问题!
你能详细解释一下吗?我似乎无法弄清楚这个问题。
对我来说这个方法行不通。如果能帮到其他人,将以下两行添加到用户设置中可以解决问题:
"python.analysis.disabled": [
"unresolved-import"
],
"python.linting.pylintArgs": [
"--load-plugin","pylint_protobuf"
]
关于"python.autoComplete.extraPaths"的答案解决了我的问题,包括给出了原因的GitHub链接。
重新加载窗口对解决我自己模块的问题起到了作用。
通过定义"python.autoComplete.extraPaths"的答案效果更好。
如果你的工作区中还有其他配置,你可以将它们添加到字典对象中,就在最后的}
上面。
问题出现的原因是由于导入自己的模块时出现错误。解决方法是在工作区设置的.vscode/settings.json文件中使用以下设置:"python.autoComplete.extraPaths": ["./path-to-your-code"]。参考文献中提供了一个链接,其中包含了详细的故障排除方法。此外,还提到了一种新的解决方案,即使用新的闭源LSP Pylance的设置:"python.analysis.extraPaths": ["./path-to-your-code"]。还有其他一些用户提供的解决方法,如在子文件夹中添加.vscode文件夹、使用绝对路径等。需要注意的是,在添加设置后需要重新加载VS Code窗口才能使更改生效。