【问题标题】:visual studio code unresolved import?视觉工作室代码未解决的导入?
【发布时间】:2020-01-10 13:51:45
【问题描述】:

我已经安装了python 3.7版本和visual studio code最新版本,之后我创建了虚拟环境并安装了django并创建了Django项目。

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

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

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

1) 蟒蛇: 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代码 4)尝试在 vs 代码的 settings.json 文件中评论“python.jediEnabled”:false,但它给出了不同的错误,无法导入 django。 5)

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

【问题讨论】:

    标签: python django visual-studio-code


    【解决方案1】:

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

    【讨论】:

    • 感谢您的回复,但是当我尝试在 VS 中包含 Importmagic: index 插件时,它就可以工作了。出现这个问题的系统是 64 位的,但在屏幕截图中显示的是 32 位。
    • @vickey 这将是因为您安装了 32 位 Python——如果您在 Windows 上单击 python.org 上的“下载”按钮,这是默认设置——而不是 64 位版本.
    【解决方案2】:

    就我而言,错误是:

    unresolved import 'pydotplus' Python (unresolved-import)
    

    这不是 64 位与 32 位的问题。相反,错误的 linting(因为代码正在运行,并且编辑器中的下划线错误)来自 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”,虽然这不是默认设置)

    然后,像 django 这样仅在 C:/Users/Admin/Anaconda3/Lib/site-packages/ 中的包将自动被 linting 识别,而默认情况下,路径仅为 C:/Users/Admin/Anaconda3/python.exe - 不足以“了解”站点包。 而且你不能在这里列出路径,因为只能输入一个字符串。

    如果 Python 解释器在此之后丢失,您可以重新分配 python 解释器。转到蓝线的左下角并选择 又是“Python 3.7...”解释器。

    关于 linting 的更多设置在这里: https://code.visualstudio.com/docs/python/linting

    【讨论】:

      【解决方案3】:

      在您的工作区设置中使用以下设置.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

      【讨论】:

        【解决方案4】:

        在您的工作区 vscode/setting.json 上,只需将“Python.autoComplete.extraPaths”与您的项目文件相对应,这样当您在脚本上导入模块时,您的 pyDev 服务器可以检测到它并且不会向您显示错误代码。例如 "python.autoComplete.extraPaths": ["./path-to-your-script-code"],

        【讨论】:

          猜你喜欢
          • 2020-06-14
          • 1970-01-01
          • 1970-01-01
          • 2018-07-05
          • 2015-07-10
          • 1970-01-01
          • 2017-04-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多