相关疑难解决方法(0)

VSCode“无法解析导入 X”,即使列在“help('modules')”下

我正在学习 Python 的第一天,并尝试将其导入SciPy到项目中。我通过pip installElementaryOS(Ubuntu 的衍生版本)安装了它。我已经通过以下方式验证了它的存在:

$ python
>>> help("modules")
Run Code Online (Sandbox Code Playgroud)

我得到的确切错误是:

导入“scipy”无法解析 Pylance (reportMissingImports)

当搜索这个错误时,我发现:

  1. 在 Windows 10 Powershell 上使用 Python 3.9.2 在 VS Code 中无法解析导入/无法从源 Pylance 解析- 接受的答案都指向项目特定.env文件。我没有这样的项目结构,对我来说,需要这样的项目结构也没有意义。

  2. 一个 github 问题——这个问题以“它刚刚自行修复”结束

当我运行程序时,控制台中没有出现任何错误。查找“Pylance”,它似乎是微软的产品。我怀疑 VSCode 无法正确检查。可能是因为pip在意想不到的地方安装了一些东西。这是我的猜测,但非常感谢任何帮助。


编辑:根据丢失路径的想法,我找到了这篇文章——How do I get into theenvironment VS Code is using for pylance?

添加了可以找到我的模块的路径后没有产生任何结果,尽管我不确定格式是否正确。也许它需要 glob 语法(例如 path/**/*)

在此输入图像描述

python visual-studio-code pylance

11
推荐指数
1
解决办法
3万
查看次数

vscode/pylance 自动导入错误的根路径

假设我有一个具有以下文件结构的项目:

\n
project_dir\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 src\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 package1\n    \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 module1.py\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 package2\n        \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 module2.py\n
Run Code Online (Sandbox Code Playgroud)\n

当我想在其他模块中使用 module1 中的某个类时,我输入类似的内容

\n
class SomeNewClass(ClassFromModule1):  # here I press ctrl-space to make auto-import\n    ...\n
Run Code Online (Sandbox Code Playgroud)\n

当 Pylance 进行自动导入时,它总是从项目的根目录开始,所以我得到了这个自动导入:

\n
from src.package1.module1 import ClassFromModule1\n
Run Code Online (Sandbox Code Playgroud)\n

问题是我的工作目录是src并且我想得到

\n
from package1.module1 import ClassFromModule1\n
Run Code Online (Sandbox Code Playgroud)\n

有没有办法修复自动导入 Pylance 功能的根路径?

\n

python visual-studio-code vscode-python pylance

5
推荐指数
1
解决办法
1976
查看次数