Parent process venv is not passed through to python subprocesses when using internalConsole
还没有人认领这个 Issue。
评估
调研方向
从提供的 test.py 和 .vscode/launch.json 复现开始,对比 internalConsole 与 integratedTerminal。跟踪 debugpy 如何启动并拦截 Python 子进程,重点关注 PATH 和 VIRTUAL_ENV 的传递。完成的标准是 cowsay 子进程能够在 internalConsole 下运行,同时服务器不会断开连接,也不会出现缺少模块的错误。
由索引模型根据 Issue 内容生成。
描述
Configuring "console": "internalConsole" for a launch target causes Python subprocesses spawned by the main debug process to not have their venv inherited correctly.
Repro. steps:
- Create a venv and install
cowsay - Open VS Code in the venv parent dir
- Create files as follows:
test.py:
import subprocess
stdout = subprocess.check_output(["python", "-m", "cowsay", "-t", "test"])
print(stdout.decode())
.vscode/launch.json:
{
"version": "0.2.0",
"configurations": [
{
"name": "Python Debugger: test.py",
"type": "debugpy",
"request": "launch",
"program": "test.py",
"console": "internalConsole", // Doesn't work
// "console": "integratedTerminal", // Works
}
]
}
- Launch the debug target
Actual outcome
- Dialog box with "Server disconnected unexpectedly" displayed
- "No module named cowsay" printed in debug console
Expected outcome
- Subprocess runs without error
Notes
The underlying cause seems to be that the PATH and VIRTUAL_ENV env vars are not inherited correctly in spawned subprocesses when they are intercepted for debugging.
- 主要语言
- Python
- 星标
- 2.5k
- 派生
- 202
- 平均合并
- 5 天 1 小时
- 30 天内合并 PR
- 1
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
microsoft/debugpy 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 78/100
-
documentation
难度 2/5 1-3 小时 新手友好度 68/100
-
难度 2/5 1-3 小时 新手友好度 78/100
-
documentation
难度 2/5 1-3 小时 新手友好度 62/100
-
难度 3/5 1-2 天 新手友好度 68/100
查看 microsoft/debugpy 的全部 Issue
相似的 Issue
-
area: harness bug status: needs-triage
难度 2/5 1-3 小时 新手友好度 75/100
Human-Agent-Society/reef#625 ·
-
难度 2/5 1-3 小时 新手友好度 70/100
-
难度 1/5 1 小时以内 新手友好度 80/100
learningequality/kolibri#15351 · 2 条评论 ·
-
难度 2/5 1-3 小时 新手友好度 75/100
-
Name consistency 未关闭
难度 2/5 1-3 小时 新手友好度 75/100
eellak/triplestore#65 · 1 条评论 ·