带参数启动Python调试时路径混乱
我在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,因为将来可能会遇到其他问题。
一些提到相同问题的相关链接: