【问题标题】:Import "flask" could not be resolved from source Pylance (reportMissingModuleSource)无法从源 Pylance (reportMissingModuleSource) 解析导入“flask”
【发布时间】:2021-04-23 10:35:35
【问题描述】:

当我写作时

from flask import Flask

flask 下出现一条黄线,说明 无法从源 Pylance (reportMissingModuleSource) 解析导入“flask”。此外,我也能够成功地使用这个包完成工作。但问题是,我不能很好地为类和方法使用自动建议。

进一步:

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

我在 vscode 中设置我的 settings.json 如下:

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

但仍然无法解决错误。

【问题讨论】:

    标签: python visual-studio-code pylance


    【解决方案1】:

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

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

    【讨论】:

    • 我没有使用虚拟环境。
    • 谢谢我正在寻找这个答案!
    【解决方案2】:

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

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

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

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

    (F1, Developer: Reload Window)

    【讨论】:

    • 它安装在正确的目录中。
    • @Chaudhary Sarimurrab - 重新加载 VS Code 后终端是否仍显示“reportMissingModuleSource”?
    • 无法解析导入“wtforms”PylancereportMissingImports
    • @Chaudhary Sarimurrab - 请在相同的 Python 环境中安装模块“wtforms”。(“pip install wtforms”或“pip3 install wtforms " )
    • @Chaudhary Sarimurrab -请检查模块的安装位置是否与VSCode左下角显示的Python环境一致。
    【解决方案3】:

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

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

    希望对你有帮助!

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        【解决方案5】:

        对于 Linux Mint 和已经安装了 flask,但 VSCode 没有找到它的人:

        1. 检查 Flask 路径:pip show flask(应该是 Location: /home/<username>/.local/lib/python3.8/site-packages
        2. 在VSCode中单击左下角按钮并选择python解释器,在我的例子中,我将它从python3.9更改为python3.8,我们可以在烧瓶path中看到它。

        【讨论】:

          【解决方案6】:

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

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

          【讨论】:

          • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
          • 嗨,@GinoMempin,感谢您的评论。我已经编辑了我的问题,以包括对已经提到 Python 解释器的其他答案的引用。我还开发了更多关于 VS Code 中的 Jupyter Notebooks 的具体问题,以便让那些正在寻找解决这种特定情况的人更清楚,因为这乍一看并不明显。
          【解决方案7】:

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2022-07-28
            • 2023-01-09
            • 2022-11-19
            • 2021-09-17
            • 2021-04-18
            • 1970-01-01
            • 2021-03-23
            • 2021-03-24
            相关资源
            最近更新 更多