【问题标题】:ModuleNotFoundError when using Visual Studio Code使用 Visual Studio Code 时出现 ModuleNotFoundError
【发布时间】:2026-01-22 00:30:01
【问题描述】:

我正在使用我继承的一台安装了 Anaconda 3 的机器。我正在尝试完成 Python 课程,这是我第一次尝试 Python。当我在命令提示符或 PowerShell 中打开 Python 解释器并运行以下行时,它会正常执行。

(base) PS D:\ProgramData\Anaconda3\Scripts> py
Python 3.7.4 (default, Aug  9 2019, 18:34:13) [MSC v.1915 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import xlsxwriter

Anaconda 以某种方式与 VS Code 集成,但当我尝试在此窗口中使用 import xlsxwriter 时,出现错误:

ModuleNotFoundError: No module named 'xlslwriter'

当这个 Python 解释器窗口打开时,它会显示以下内容:

Jupyter Server URI: http://localhost:8889/?token=b8a07e61e603f9dae0ee599198ac33f68d3f398036f6af0e
Python version:
3.7.6 (default, Jan  8 2020, 20:23:39) [MSC v.1916 64 bit (AMD64)]
(6, 0, 1)
D:\\ProgramData\\Anaconda3\\envs\\py37\\python.exe

如果我尝试使用pip 安装xlsxwriter,我会收到一条消息

Requirement already satisfied: xlsxwriter in d:\programdata\anaconda3\lib\site-packages (1.2.8)

我要求的不是即时答案,而是有关如何诊断和纠正此问题的指导。为什么某些解释器(命令提示符和 PowerShell,以及 Jupyter Notebook)可以使用该模块,而在 VS Code 解释器中不可用?如何使用 VS Code 和/或 Python 功能来了解当前环境的配置等?

【问题讨论】:

  • 您是否注意到您可能正在运行 2 个不同的 Python 版本?在第一种情况下,您的版本是 3.7.4,而在 VS Code 中是 3.7.6。尝试在这两种情况下运行which python 来检查它。是否有可能您在 shell 中使用了一个环境,而 VS Code 以某种方式使用了未安装模块的其他环境?
  • @Alex.Kh 是的,很可能我有 2 个不同的环境,但我问我如何诊断为什么一个模块只对 1 可用。如何使用 pip 安装VSCode环境下的模块包?顺便说一句,请问我如何以及在哪里运行which python?:
  • 在 shell/终端和 VS Code 终端中键入 which python。它会告诉您正在使用的 Python 可执行文件的路径。如果它们不同,您将清楚地看到您使用的是不同版本的 Python。此外,在终端中运行 conda env list 以检查您是否存在/配置了超过 1 个环境。至于Pip,请查看this answer获取说明
  • @Alex.Kh 我在尝试运行which 的任何地方都会遇到错误。这是一个 Linux 命令吗,因为我正在运行 Windows 10。我已经添加了一个 Windows 标签。
  • 我来这里是因为一个类似的问题。就我而言,告诉因为可能会帮助任何犯同样愚蠢错误的人,这与在 VS Code 上创建和打开的文件的名称有关。我正在使用 Google API 并将我的文件命名为“google.py”。只需要重命名我的文件以避免冲突。

标签: python windows python-import xlsxwriter


【解决方案1】:

根据this answer 中给出的建议,我运行了命令

!pip install xlsxwriter

在 VS Code 解释器中,最后,该模块可用于import

【讨论】:

    最近更新 更多