【问题标题】:Module not found error in VS code despite the fact that I installed it尽管我安装了模块,但在 VS 代码中未发现错误
【发布时间】:2019-11-01 15:43:48
【问题描述】:

我正在尝试使用 VS 代码调试一些 python 代码。我收到有关我确定已安装的模块的以下错误。

Exception has occurred: ModuleNotFoundError
No module named 'SimpleITK'
  File "C:\Users\Mido\Desktop\ProstateX-project\src\01-preprocessing\03_resample_nifti.py", line 8, in <module>
    import SimpleITK as sitk

我使用

安装了模块

sudo pip install SimpleITK

我知道它已安装,因为当我通过命令行运行代码时遇到类似的错误,并且通过执行上述操作已修复。我不明白为什么 VS 代码无法识别

【问题讨论】:

  • 可能 VS 代码中没有更新 Python 路径。你检查过吗?也许关闭所有 VS 代码实例,然后重试可能会解决问题。

标签: python module visual-studio-code


【解决方案1】:

sudo pip install 很可能会全局安装到与您在 VS Code 中选择的解释器不同的 Python 解释器中。请select the Python interpreter you want to use 然后使用该解释器显式安装(如果您不使用虚拟环境,请使用/path/to/python -m pip install SimpleITK 之类的东西,尽管我强烈建议使用虚拟环境并且不要全局安装包)。

【讨论】:

  • 这个答案解决了我的问题。即使我设置了一个虚拟环境,集成终端本身也指向一个不同的 Python。因此,通过在终端的 Python 中运行 pip 安装的模块可供终端使用,但无法访问其中运行的工作区文件。知道如何让终端使用与工作区的其余部分相同的 Python 吗?即虚拟环境中的那个?
  • 如果您在扩展程序中选择了一个虚拟环境(并且扩展程序已加载),那么当您打开一个新终端时,扩展程序将为虚拟环境激活该 shell,以便 python 将指向给你想要的口译员。
【解决方案2】:

使用pip 安装新模块后,如果 vscode 无法识别,重新加载 vscode 可能会起作用。

  1. 确保模块安装在虚拟环境中

激活virtualenv并使用正确的install module方式与pip:python3 -m pip install {new_module}

  1. 重新加载vscode:Ctrl+Shift+P,选择重新加载窗口

现在 vscode 将知道新模块和自动编译的工作原理。

【讨论】:

  • 第 2 步在 macOS 上按 Cmd + Shift + P 完成,选择 Reload Window
【解决方案3】:

在 Mac 中,正确选择 Python 解释器对我有用:

在 VS Code 中,通过打开命令面板 (⇧⌘P) 选择 Python 3 解释器,开始输入 Python:选择解释器命令进行搜索,然后选择命令。如果可用,您还可以使用状态栏上的 Select Python Environment 选项(它也可能已经显示了选定的解释器):

没有选择解释器

该命令显示 VS Code 可以自动找到的可用解释器列表,包括虚拟环境。如果您没有看到所需的解释器,请参阅配置 Python 环境。

来源:VS Code Select Interpreter

【讨论】:

    【解决方案4】:

    我在使用 VSCode 时遇到了这个问题,并通过以下过程将 VSCode 中的 Python 解释器设置为与系统路径中的解释器相同(在 Windows 上键入“echo %PATH%”并查找 Python)来解决它: https://code.visualstudio.com/docs/python/python-tutorial#_select-a-python-interpreter

    【讨论】:

      【解决方案5】:

      有很多建议的答案建议更改 launch.json 或 settings.json 文件。但是,这些解决方案都不适合我。

      我的情况:

      1. 是否选择了 Python 环境?是的
      2. 终端能识别 Python 环境吗?是的
      3. 我可以从激活的终端运行 Python 代码吗?是的
      4. 当我使用“开始调试”时,代码是否运行无错误?是的
      5. 当我点击“运行代码”时,代码是否运行?没有

      对我有用的唯一解决方案是:

      1. 打开 Windows 终端(或 cmd)
      2. 激活环境:conda activate &lt;environment_name&gt;
      3. 从终端打开 Visual Studio 代码:code

      然后,“运行代码”(#5)可以正常工作。

      来源:
      "module not found error" in VS Code using Conda - l3d00m's answer

      【讨论】:

      • 我遇到了同样的问题。我敢打赌,您的文件顶部有一个 shebang 声明。如果你这样做。 1. Visual Studios 设置 2. 在 "Code-runner->Code-runner: Respect Shebang" 部分下或只搜索 "Code-runner: Respect Shebang" 3. 取消选中天气以尊重 Shebang 运行代码。现在它将在虚拟环境下运行并找到您使用 pip 安装的模块! :)
      【解决方案6】:

      尝试在 VS Code 中运行 pip list 以检查模块是否已安装,接下来检查您的 python 版本是否正确/是否支持该版本的 SimpleITK。您用于 VS Code 的 Python 解释器可能存在问题(即,该模块可能安装在与您的 VS Code 使用的 Python 实例不同的 Python 实例上)

      【讨论】:

      • 所以现在我遇到了 pandas 模块的问题。我运行了 pip list,安装了 pandas。 VS Code 中的 python 版本是 2.7,它确实支持 pandas,所以我不确定是怎么回事
      • vscode 让你选择 virtualenv 是否已激活
      【解决方案7】:

      此错误:您的 vscode 使用其他 python 版本。此解决方案更改 vscode 使用当前的 python。

      1. 在终端找到当前的python版本:

        py --version

      2. 在 vscode 中按Ctrl+Shift+P 然后输入:

        Python:选择解释器

      3. 选择当前python版本

      【讨论】:

        【解决方案8】:

        是否选择了 Python 环境? 终端是否识别 Python 环境? 我可以从激活的终端运行 Python 代码吗? 当我使用“开始调试”时,代码是否运行无错误?

        如果上面的答案是“是”。

        那么, 尝试使用“在终端中运行 python 文件”选项(在代码运行器扩展中)运行代码。并为其分配一个新的快捷方式以供将来使用...

        【讨论】:

          【解决方案9】:

          如何修复 Visual Studio 代码中未找到模块的错误? 解决 VSCode ModuleNotFoundError: No module named X Error 如果要导入模块,请确保从包文件夹(而不是包/模块)运行。计算工作。您还可以将 PYTHONPATH 环境变量设置为包文件夹的路径。

          【讨论】:

            【解决方案10】:

            我刚刚遇到了同样的问题。我发现如果我在 shift 输入之前选择了所有文本,脚本将编译为文件而不是单行。

            【讨论】:

              【解决方案11】:

              我遇到了同样的问题。我敢打赌,您的文件顶部有一个 shebang 声明。 如果你这样做了。

              1. Visual Studio 设置
              2. 在“Code-runner->Code-runner: Respect Shebang”部分下或只搜索“Code-runner: Respect Shebang”
              3. 取消选中天气以尊重 Shebang 运行代码。

              现在它将在虚拟环境下运行并找到您使用 pip 安装的模块! :)

              【讨论】:

                【解决方案12】:

                我为此苦苦挣扎了很长时间,并且几乎尝试了所有其他答案。我没有使用pip,所以这不是问题。但是 VS Code 仍然没有找到安装在 Selected Interpreter 中的模块。

                归根结底是因为我切换到 miniconda 而存在的旧冲突,而 VS Code 仍在寻找 anaconda3。

                我从我的机器 (some instructions) 上彻底清除了 VS Code 及其相关文件(缓存、首选项文件等),并安装了一个干净的版本。

                这现在可以按预期与 miniconda 同步。

                【讨论】:

                  【解决方案13】:

                  如果你安装了不同的python版本,一定要安装正确的模块。

                  python -m pip install <module>
                  

                  python3 -m pip install <module>
                  

                  【讨论】:

                    猜你喜欢
                    • 2022-05-26
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 2015-08-18
                    • 2021-03-20
                    • 2016-07-05
                    • 1970-01-01
                    • 2016-02-29
                    相关资源
                    最近更新 更多