在 venv 中导入已安装的模块时出现 ModuleNotFoundError

时间:2021-04-09 23:38:24

标签: python import vscode-settings python-venv modulenotfounderror

我在 Visual Studio Code 中使用 venv 在虚拟环境中安装了一个库,然后将其导入到 Python 文件中。但是,当我运行该文件时,出现 ModuleNotFoundError。

尝试的步骤和检查:

  • 我没有安装多个版本的 Python。
  • 我在安装模块和运行文件之前激活了 venv。
  • VS Code 说它正在使用 \venv\scripts 中的 Python 可执行文件。
  • 该模块实际上在 venv\Lib\site-packages 中。
  • 我在 venv 内外运行最新版本的 pip。
  • 我重新启动了 VS Code。

奇怪之处:<​​/p>

  • 从内置终端运行文件有效,而不是引发错误。
  • which python 在 Bash 中返回 /c/Users/Lyndon/Documents/VS Code/seatmap_parser/\Users\Lyndon\Documents\VS Code\seatmap_parser\venv/Scripts/python 时它应该返回 C:\Users\Lyndon\Documents\VS Code\seatmap_parser\venv\Scripts\python
  • 将设置 "python.pythonPath": "${workspaceRoot}/venv/Scripts/python" 添加到工作区 settings.json 会引发此错误:The Python path in your debug configuration is invalid.
  • 如果我停用 venv,全局安装模块,然后重新激活 venv,该文件现在可以工作,这让我认为可能无论如何都运行了错误的 Python 可执行文件。

我随时准备应要求检查任何遗漏的详细信息。为什么它不起作用?

1 个答案:

答案 0 :(得分:1)

如果您只想点击指定文件中的 run 获得 OUTPUT,那么您必须转到用户设置。在“python”键后的 "code-runner.executorMap" dict 中输入您的 python 路径。如果未指定,只需键入 code-runner.executorMap 它将为您生成该 dict。