18

当我在写作

from flask import Flask

一条黄线出现在烧瓶下,并说明Import "flask" could not besolved from source Pylance (reportMissingModuleSource)。此外,我也能够成功地使用这个包完成工作。但问题是,我不能很好地为类和方法使用自动建议。

更远:

  1. 我检查了烧瓶是否安装成功。
  2. 我也访问了这个线程https://github.com/microsoft/pylance-release/issues/236

我在 vscode 中设置了我的settings.json,如下所示:

"python.analysis.extraPaths": [
    "/media/sarimurrab/New Volume/COURSES/Flask/FlaskMigrateforDatabaseMigrations/2"
]

但仍然无法解决错误。

4

7 回答 7

42

当我没有在VSCode当前使用的Python环境中安装模块“flask”时:

在此处输入图像描述

请使用命令“ pip --version”查看模块安装工具“pip”的来源,模块安装在这个位置:

在此处输入图像描述

然后,我们可以使用命令“ pip show flask”查看模块“flask”的安装位置:(检查模块的安装位置是否与VSCode左下角显示的Python环境一致。)

在此处输入图像描述

如果此处仍然显示“reportMissingModuleSource”消息,请重新加载 VS Code。

( F1, Developer: Reload Window)

在此处输入图像描述

于 2021-01-20T02:43:26.850 回答
26

您使用的是 Virtualenv 吗?如果是这样,请确保 VSCode 使用 virtualenv 作为您的 python 解释器,否则它将无法获取您在此 virtualenv 中安装的包。

为此,请单击底部栏中的 Python 解释器,您应该会得到一个可能的 Python 解释器列表,包括您的 virtualenv。

于 2021-01-19T08:19:08.660 回答
3

对于 Linux Mint 和那些安装了烧瓶,但 VSCode 没有找到它的人:

  1. 检查 Flask 路径:(pip show flask应该像 Location: /home/<username>/.local/lib/python3.8/site-packages
  2. 在 VSCode 中单击左下角按钮并选择 python 解释器,在我的情况下,我将它从python3.9更改python3.8为 我们可以在 flask 中看到它path
于 2021-07-31T04:50:56.187 回答
2

我在尝试在 vscode 上导入烧瓶时遇到了类似的问题。我使用anaconda修复了它。只需在您创建的环境示例屏幕截图中安装烧瓶模块。

如何在 anaconda 中创建虚拟环境:
1. 在左侧边栏上,单击环境。
2. 单击创建(在底部)。
3. 在弹出窗口中,为您的 vir.env 命名并选择语言版本。
4. 创建后,您可以开始在您的环境中安装不同的模块。

我希望这会有所帮助!

于 2021-02-09T20:51:18.720 回答
0

那是因为您没有正确选择路径,请输入:
pipenv --venv
然后它将显示您的虚拟环境的安装位置。检查包在你的环境中的安装位置,然后输入你从 shell\scripts 或任何\python 中得到的内容,这些包就可以工作了。

于 2021-06-30T04:20:26.540 回答
0

我面临同样的问题。我尝试了堆栈溢出的所有解决方案,但没有一个有效。但是经过大量搜索和时间浪费后,我发现了我的愚蠢错误。我创建了名为“flask”的文件夹并将我的项目存储在那里。我是初学者,经历了很多这样愚蠢的错误。希望它会有所帮助,如果有人犯了同样的错误。

于 2021-11-03T12:32:35.333 回答
-1

一些答案(Jill的、Marius的和Roy的)提到了选择正确的 Python 解释器以使 Pylance 正常运行所必需的事实。我想补充一点,当使用Jupyter Notebook并选择了正确的 Python 内核时,仍然需要这样做。

选择 Python 解释器和 notebook 的 Python 内核来使事情正常工作是违反直觉的。考虑到 Python 解释器的按钮(在屏幕左下角,状态栏上)不一定在 Jupyter Notebook 打开时出现,而是在 Python 脚本打开时出现,这更加违反直觉。例如,在这个屏幕截图中,我们看到 Scikit-learn 的导入下方的小线,表示导入有问题(即使导入成功)。但是,已经选择了安装了 Scikit-learn 的正确 Python 内核。只打开一个 Python 脚本我们注意到 Python 解释器是这种行为的原因,因为选择了错误的解释器,而没有 Scikit-learn。从某种意义上说,可能会认为这是 Python 内核或 Conda 环境的问题(在使用 Jupyter Notebook 和 Jupyter Lab 进行实验时遇到这种问题是很常见的)。我希望这个答案可以帮助那些在 VS Code 中的 Jupyter Notebooks 的特定上下文中寻找解决这个问题的人。他们可能会忽略其他答案,因为他们可能认为情况并非如此。

于 2021-10-30T18:54:51.213 回答