【问题标题】:ModuleNotFoundError when importing installed module in venv在 venv 中导入已安装的模块时出现 ModuleNotFoundError
【发布时间】:2021-07-05 19:53:37
【问题描述】:

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

尝试的步骤和检查:

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

奇事:

  • 从内置终端运行文件不会产生错误。
  • Bash 中的which python 在应该返回C:\Users\Lyndon\Documents\VS Code\seatmap_parser\venv\Scripts\python 时返回/c/Users/Lyndon/Documents/VS Code/seatmap_parser/\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 可执行文件。

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 哦。所以 venv 只能在终端工作?
    • 是的,如果您没有在 Code-Runner Extension 中指定路径,该路径在终端附近的“OUTPUT”块中执行并产生输出。
    猜你喜欢
    • 2019-06-01
    • 2020-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    相关资源
    最近更新 更多