在 Windows 10 上使用 Python 3.9.2 无法解析导入/无法从 VS Code 中的源 Pylance 解析

SMK*_*zan 90 python flask visual-studio-code pylance

我的 Flask 应用服务器正在运行,但我有三个导入无法解析。 未解决的进口

我努力了:

  1. 单独重新安装导入
  2. 重新安装requirements.txt
  3. 我为 VSCode Workspace 配置了一个指向我的项目文件夹的额外路径(现在我的项目文件夹的根目录中有一个 .vscode 文件,而以前没有)
  4. 我已经更新了 VSCode 中的 venv 路径设置

这是我的文件结构:

- > .vscode
- > client *(React front end)*
- > data
- > server *(Python/Flask back end)*
    - > app
    - > venv
    - config.py
    - README.md
    - requirements.txt *(this contains the 3 unresolved, along with several that are resolving)*
- .env
- .flaskenv
- .gitignore
- requirements.txt
Run Code Online (Sandbox Code Playgroud)

不幸的是,这些事情都没有解决我的进口问题,我的路线仍然无法正常工作。有什么想法/建议吗?

Mol*_*SFT 155

  1. 打开命令面板(Ctrl++ ShiftP,然后选择Python:选择解释器。从列表中,选择项目文件夹中以.env.

  2. 运行终端:创建新的集成终端Ctrl++或从命令面板),它创建一个终端并通过运行其激活脚本自动Shift激活虚拟环境`

  3. 安装sqlalchemymongoengine使用命令pip install。成功安装它们后,导入它们时会有智能感知,并且不会显示任何警告。

环境中使用 pip 的屏幕截图安装包

此外,该文件夹.vscode还用于存储工作区设置以及调试和任务配置。

  • 关于第 1 步:当我单击“Python:选择解释器”时出现的列表不包含以项目虚拟环境名称开头的列表。 (2认同)

小智 109

要解决该问题,请执行以下步骤:

  1. 按 键盘上的Ctrl+ Shift+打开命令面板。P
  2. 在命令面板中,选择Python: Clear Cache and Reload Window


小智 68

如果您使用的是虚拟环境,即使在尝试 pip 安装所有必要的库之后,您也必须选择虚拟环境文件夹中存在的 python 解释器。

  1. (Ctrl+Shift+P)然后搜索“Python:选择解释器”
  2. 单击“输入解释器路径”,然后单击“查找..”
  3. 导航到您的项目虚拟环境文件夹
  4. 进入“Scripts”文件夹,然后选择“python.exe”作为解释器。

这些步骤允许您选择与项目虚拟环境关联的正确 python 解释器。

  • 这对我有用,但对我来说,我选择的解释器是 bin/python (符号链接到 /usr/bin/python3) (3认同)

SMK*_*zan 11

我在项目存储库的 .vscode 文件夹中包含的 settings.json 文件中指定了我正在使用的 python 解释器的路径。

"python.pythonPath": "path-to-interpreter.python.exe"
Run Code Online (Sandbox Code Playgroud)

感谢以下资源!https://dev.to/climentea/how-to-solve-pylance-missing-imports-in-vscode-359b

  • 与以前的解决方案不同 - 这对我有用,但更具体地说,我将 `python.pythonPath` 设置为从通过 Ctrl-Shift+` 访问的 VSCode 集成终端内运行 `which python` 的结果。这是与在正常术语窗口中运行它不同的路径,因为它位于虚拟环境中。 (2认同)

Ada*_*och 7

在升级本地 python 版本(brew -> 手动安装)后,我遇到了此错误,即使指定的解释器已经 /usr/local/bin/python3.

\n

CMD + Shift + P并重新选择[相同]解释器修复了错误。

\n

事后看来,我怀疑重新启动 VSCode 也可以解决这个问题。\xe2\x80\x8d\xe2\x99\x82\xef\xb8\x8f

\n