microsoft / microsoft/vscode-python-debugger

Debug configuration does not override workspace python interpreter

Open
#463 4 comments 1 reaction 1 assignee View on GitHub

@eleanorjboyd is already working on this.

Since Sep 30, 2024.

triage-needed
Dominant language
TypeScript
Stars
180
Forks
126
Avg merge
2d 3h
Merged PRs (30d)
3

Description

Fairly straightforward issue. When performing "Start Debugging" or "Run Without Debugging", the debugger will use the current workspace interpreter instead of the interpreter specified in the launch.json configuration with the "python" key.

Steps to reproduce:

  1. Have a multi-folder/root workspace. E.g.:
    • .vscode
      • launch.json
    • ProjectA
      • projecta-abcd-py3.x
      • etc
    • ProjectB
      • projectb-abcd-py3.x
      • etc
  2. Specify the interpreter you want each debug configuration to use in your launch.json file. E.g.:
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "ProjectA",
            "type": "debugpy",
            "python": "${workspaceFolder}/projectA/projecta-abcd-py3.x/bin/python",
            "request": "launch",
            "program": "${workspaceFolder}/projectA/cli.py",
            "console": "integratedTerminal",
            "args": []
        },
        {
            "name": "ProjectB",
            "type": "debugpy",
            "python": "${workspaceFolder}/ProjectB/projectb-abcd-py3.x/bin/python",
            "request": "launch",
            "program": "${workspaceFolder}/ProjectB/cli.py",
            "console": "integratedTerminal",
            "args": []
        },
    ]
}
  1. Set your workspace interpreter to the interpreter for any project. Let's say we set it to A, ./projectA/projecta-abcd-py3.x/bin/python.
  2. Select the run & debug configuration for a different project. Let's say we select B.
  3. Start Debugging or Run Without Debugging.

Expected result (terminal output):

source /home/REDACTED/ProjectB/projectb-abcd-py3.x/bin/activate
user@host:~/REDACTED$ source /home/REDACTED/ProjectB/projectb-abcd-py3.x/bin/activate
(projectb-py3.x) user@host:~/REDACTED$  /usr/bin/env /home/REDACTED/ProjectB/projectb-abcd-py3.x/bin/python /home/REDACTED/.vscode-server/extensions/ms-python.debugpy-2024.10.0-linux-x64/bundled/libs/debugpy/adapter/../../debugpy/launcher 41261 -- /home/REDACTED/ProjectB/cli.py

Actual result (terminal output):

source /home/REDACTED/ProjectA/projecta-abcd-py3.x/bin/activate
user@host:~/REDACTED$ source /home/REDACTED/ProjectA/projecta-abcd-py3.x/bin/activate
(projecta-py3.x) user@host:~/REDACTED$  /usr/bin/env /home/REDACTED/ProjectA/projecta-abcd-py3.x/bin/python /home/REDACTED/.vscode-server/extensions/ms-python.debugpy-2024.10.0-linux-x64/bundled/libs/debugpy/adapter/../../debugpy/launcher 41261 -- /home/REDACTED/ProjectB/cli.py

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.