为了账号安全,请及时绑定邮箱和手机立即绑定

VS 代码 | Python程序 | 模块导入过程未发生

VS 代码 | Python程序 | 模块导入过程未发生

墨色风雨 2022-11-09 16:55:02
环境作为多根工作区的一部分,我在 VS Code 中有一个 Python 快速入门。我手动添加了 3 个文件;tasks.json、settings.json和launch.json。意外行为当我调试项目时,主脚本由于缺少模块而失败。这是因为在启动时未安装requirements.txt中列出的模块。任务.json{    "version": "2.0.0",    "tasks": [      {        "label": "pipInstall",        "type": "shell",        "osx": {          "command": "${config:python.pythonPath}/bin/python -m pip install -r requirements.txt"        },        "windows": {          "command": "${config:python.pythonPath}\\Scripts\\python -m pip install -r requirements.txt"        },        "linux": {          "command": "${config:python.pythonPath}/bin/python -m pip install -r requirements.txt"        },        "problemMatcher": [],        "options": {          "cwd": "${workspaceFolder}"        }      }    ]  }启动.json    "version": "0.2.0",    "configurations": [        {            "name": "Python: Current File",            "type": "python",            "request": "launch",            "program": "${workspaceFolder}\\batch-python-quickstart\\src\\python_quickstart_client.py",            "console": "integratedTerminal"        }    ]}设置.json{    "python.pythonPath": "C:\\Python Virtual Environments\\myenvid\\.venv\\Scripts\\python.exe"}
查看完整描述

1 回答

?
心有法竹

TA贡献1866条经验 获得超5个赞

为什么没有安装模块

没有安装 requirements.txt 文件中指定的模块,因为 launch.json 中没有对tasks.json的引用。要在执行 python 应用程序之前执行任务,需要"preLaunchTask": "pipInstall"引用pipInstalltasks.json 中命名的任务。


修改后的代码

注意:我还修复了一些不正确的路径并将我的虚拟环境移动到我的项目之外的新目录。


设置.json

{

    "python.pythonPath": "C:\\thepath\\.venv\\Scripts\\python.exe"

}

启动.json

{

    "version": "0.2.0",

    "configurations": [

        {

            "name": "Python: Current File",

            "type": "python",

            "request": "launch",

            "program": "${workspaceFolder}\\batch-python-quickstart\\src\\python_quickstart_client.py",

            "console": "integratedTerminal",

            "preLaunchTask": "pipInstall"

        }

    ]

}

任务.json

{

    "version": "2.0.0",

    "tasks": [

      {

        "label": "pipInstall",

        "type": "shell",

        "osx": {

          "command": "${config:python.pythonPath}/bin/python -m pip install -r requirements.txt"

        },

        "windows": {

          "command": "${config:python.pythonPath} -m pip install -r requirements.txt"

        },

        "linux": {

          "command": "${config:python.pythonPath}/bin/python -m pip install -r requirements.txt"

        },

        "problemMatcher": [],

        "options": {

          "cwd": "${workspaceFolder}\\batch-python-quickstart\\src"

        }

      }

    ]

  }

此外

可以通过在任务中添加相同的依赖属性来级联任务;"dependsOn": "othertasklabel". 一组构建步骤的理想选择。


查看完整回答
反对 回复 2022-11-09
  • 1 回答
  • 0 关注
  • 50 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信