Visual Studio代码无法解析导入?

时间:2019-09-08 15:05:30

标签: python django visual-studio-code

我已经安装了python版本3.7和Visual Studio代码的最新版本,之后我创建了虚拟环境并安装了django并创建了Django项目。

每当我打开某个文件时,它都会显示如下错误

未解决的导入'django.contrib' 未解析的导入'django.urls' 未定义的变量:“路径” 未定义的变量:“ admin”

下面是我的应用程序的路径

1)Python: C:\ Python \ Python37-32 \ python.exe 2)创建虚拟环境 D:\ django_projects \ envs \ py1 \ 3)创建Django项目 D:\ django_projects \ p1 \ p1

以下是我尝试过的事情 1)重新安装Python 2)即使我选择在环境变量中设置Python路径,也要在环境变量中设置Python路径 3)重新安装VS Code 4)尝试注释“ python.jediEnabled”:false,在vs代码中的settings.json文件中,但是它给出了无法导入django的其他错误。 5)

未解决的导入'django.contrib' 未解析的导入'django.urls' 未定义的变量:“路径” 未定义的变量:“ admin”

enter image description here

4 个答案:

答案 0 :(得分:2)

在您的工作区设置 .vscode/settings.json 中使用以下设置:

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

或者,如果您使用的是 Pylance

"python.analysis.extraPaths": ["./sources"]

示例

考虑以下目录

.
├── vscode
│   └── settings.json
└── src
    ├── main.py
    └── assets
        └──module.py

settings.json 需要包含(如果使用 Pylance)

}
    "python.analysis.extraPaths": ["src/assets"]
}

main.py 需要类似的东西

from module import *

参考:Troubleshooting, Unresolved import warnings

答案 1 :(得分:1)

您没有选择在VS Code中安装Django的虚拟环境(请参见屏幕左下角的屏幕快照,其中显示“ Python 3.7.4 32-bit”;如果显示,则显示“ venv”或类似内容)使用虚拟环境)。尝试单击状态栏中的解释器,然后单击select your environment

答案 2 :(得分:1)

就我而言,错误是:

unresolved import 'pydotplus' Python (unresolved-import)

这不是64位与32位的问题。取而代之的是,错误的插入(因为代码正在运行,并且编辑器中的下划线只是错误的)来自json设置中所需的额外python路径。

充其量,跟随https://github.com/Microsoft/python-language-server/issues/887 还有HozcarAndres的方法及其后的方法。

//"python.pythonPath": "C:/Users/Admin/Anaconda3/python.exe",
"python.autoComplete.extraPaths": [
    "C:/Users/Admin/Anaconda3/Lib/site-packages/",
    ... (you can add further pahts in this String array)
    ]

不需要“ python.pythonPath”,因为它是已知的默认值。

或转到settings.json(按Ctrl + Shift + P并进行搜索)并将其更改为

{
    [many settings...],
    [previous last line],
    "python.pythonPath": "C:/Users/Admin/Anaconda3/**"
}

(或更改现有的“ python.pythonPath”,尽管默认情况下不存在)

然后,仅在C:/Users/Admin/Anaconda3/Lib/site-packages/中的django之类的软件包将被棉绒自动识别,而默认情况下,路径仅为C:/Users/Admin/Anaconda3/python.exe-不足以“知道”该站点-包装。 而且您无法在此处列出路径列表,因为只能输入一个字符串。

如果此后Python解释器丢失,则可以重新分配python解释器。转到蓝线的左下方,然后选择 再次使用“ Python 3.7 ...”解释器。

关于棉绒的其他设置在这里: https://code.visualstudio.com/docs/python/linting

答案 3 :(得分:1)

在您的工作区vscode / setting.json上,简单地放置“ Python.autoComplete.extraPaths”以与您的项目文件相对应,以便在您的脚本上导入模块时,您的pyDev服务器可以检测到它并且不向您的错误显示码。例如“ python.autoComplete.extraPaths”:[“ ./您的脚本代码路径”],

enter image description here