繁体   English   中英

为什么 Vscode 显示“无法导入”错误

[英]Why Vscode is showing an "unable to import" error

我一直在寻找整个互联网并花了几个小时试图解决这个问题。

问题总结:

  1. 从本地模块导入类/函数时,我得到一个Unable to import 'x' pylint (import-error) (image #1)
  2. Vscode 并不建议使用“快速修复 - 自动导入”来导入已安装的库(在本例中为 pyngrok)(图像 #2)。 错误 #1 错误 #2

我尝试了什么:

  • 创建了一个虚拟环境
  • 在 Vscode 中选择虚拟环境为 Python 解释器
  • 已安装 Python 相关扩展:IntelliSense (Pylance)
  • 安装 pylint ( pip install pylint ) 并通过 Vs 代码选择它作为 linter
  • 完全卸载/重新安装 Vscode(包括缓存和首选项)
  • 重新加载 window ( cmd+shift+p -> Developer: Reload window)
  • 添加"env": {"PYTHONPATH": "${workspaceRoot}"}以启动.json 文件
  • 在 settings.json 文件中添加"python.linting.enabled": true"python.analysis.autoImportCompletions": true
  • 经历了故障排除 linting

我的项目结构:

my-app/
├─ venv/
├─ errors/
│  ├─ __init__.py
│  ├─ interface
├─ _app.py
├─ __init__.py

笔记:

  • 在我从中导入的模块中,我确实有一个__init__.py文件
  • 运行代码时,它工作得很好,所以 import-error 错误不是实际错误
  • 我不想通过忽略设置中的导入错误来解决它

我的系统

  • macOS 12.5.1
  • 系统Python版本:3.8
  • 项目的Python虚拟环境版本:3.8。
  • Vscode 版本:1.71.0

通过从项目的根文件夹中删除__init__.py文件,我能够解决第一个问题。

关于第二个问题,正如 MingJie-MSFT 评论的那样 - 这是一个2019 年的问题

话虽如此 - 我能够(部分)通过为 vscode 安装Sourcery扩展来解决它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM