带参数启动Python调试时路径混乱

3 投票
1 回答
53 浏览
提问于 2025-04-12 05:09

我在Windows上使用VSCode,并且把GitBash当作集成终端。当我用默认配置启动Python调试器时,一切正常,终端上执行的命令是:

/usr/bin/env c:\\Users\\augus\\.Apps\\anaconda3\\envs\\muskit-env\\python.exe \
c:\\Users\\augus\\.vscode\\extensions\\ms-python.debugpy-2024.2.0-win32-x64\\bundled\\libs\\debugpy\\adapter/../..\\debugpy\\launcher \
53684 -- E:\\muskit\\QuantumSoftwareTestingTools\\Muskit\\Muskit\\CommandMain.py

注意文件路径中的\\。上面的情况是完全没问题的。

问题出现在我往launch.json配置中添加args属性的时候。

launch.json

{
    "configurations": [
        {
            "name": "Python Debugger: Current File with Arguments",
            "type": "debugpy",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal",
            "args": "foo"
        }
    ]
}

这时终端上执行的命令变成了:

$  /usr/bin/env c:\Users\augus\.Apps\anaconda3\envs\muskit-env\python.exe \
c:\Users\augus\.vscode\extensions\ms-python.debugpy-2024.2.0-win32-x64\bundled\libs\debugpy\adapter/../..\debugpy\launcher \
53805 -- E:\muskit\QuantumSoftwareTestingTools\Muskit\Muskit\CommandMain.py foo 
/usr/bin/env: ‘c:Usersaugus.Appsanaconda3envsmuskit-envpython.exe’: No such file or directory

注意,这里用的是\,而不是\\,这导致出现了“没有这样的文件或目录”的错误。

这是个bug,还是我漏掉了什么呢?

1 个回答

1

在查看 vscode-python 这个项目的相关问题时,发现有很多人提到 git bash 这个工具并没有官方支持。比如在 这里

注意,Gitbash 并不被 Python 扩展支持,所以如果需要的话,可以选择默认的命令行工具切换到 cmd 或者 powershell。

这可能是个bug,最好还是使用 cmd 或者 powershell,因为将来可能会遇到其他问题。

一些提到相同问题的相关链接:

撰写回答