【发布时间】:2022-11-06 10:04:34
【问题描述】:
问题
如何让 vscode 任务的命令在另一个任务创建的 python 虚拟环境/shell 中运行?
例子
我正在尝试使用 vscode 依次运行几个任务。
- 第一个任务将运行命令
pipenv shell。 - 第二个任务需要在第一个任务创建的虚拟环境中运行。
只有当我通过在创建的 shell 中运行
exit手动退出第一个任务创建的虚拟环境时,第二个任务才会运行。 大概是因为它正在等待第一个任务完成 - 但第一个任务仅在进程结束时完成(当我运行exit时)。任务.json
{ "tasks": [ { "label": "first task", "type": "shell", "command": "pipenv shell", "presentation": { "panel": "shared", }, }, { "label": "second task", "type": "shell", "command": "<some_command>", "presentation": { "panel": "shared", }, }, { "label": "combine tasks", "type": "shell", "command": "echo hello", "dependsOrder": "sequence", "dependsOn": ["first task", "second task"], }, ], }
【问题讨论】:
-
为什么不使用
venv虚拟环境?如果您选择正确的 python 解释器,VSC 将为您激活 VirtEnv -
@rioV8 - 我认为 OP 遇到了同样的问题 - 如果我在 vscode 中手动创建一个新终端,它将在 .venv 中运行它。即已配置。但是任务外壳命令没有继承相同的环境......所以我也一直在尝试链接命令,因为我一生都无法弄清楚如何让 venv 为我的命令行命令激活。
标签: python visual-studio-code pipenv vscode-tasks