[英]debug python code running in docker container from host using vscode
[英]VSCode - Dev container on docker not running
我一直在使用“远程 - 容器”扩展在 docker 容器内运行 python。 在过去的几个月里,这对我来说一直很好,没有任何问题。
今天,我尝试在以前没有运行过的 repo 上做同样的事情。 经历了整个过程,我像往常一样连接到 docker 容器。 我可以在终端中运行东西,我可以验证我需要安装的所有东西确实都安装了。
问题是 - 当我尝试调试我的代码(通过按 F5,或者甚至不使用 ctrl+F5 进行调试)时,什么也没有发生。 我可以看到小播放暂停停止栏弹出 - 但它立即关闭,没有任何运行......
当我查看 python 扩展的 output 时,我可以看到DAP Server launched with command: /usr/bin/python3 /root/.vscode-server/extensions/ms-python.python-2022.10.1/pythonFiles/lib/python/debugpy/adapter
但同样,在那之后没有任何运行...
我的 launch.json 看起来像这样 -
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"justMyCode": true
},
]
}
我正在运行一个简单的 python 文件 -
a = 1
print(1)
每行都有一个永远不会触发的断点
如上所述,这真的很奇怪,我一直以这种方式工作很长时间,直到现在一切都很好......
问题是我安装在 docker 和 python 扩展中的 python 版本。 我在python extension v2022.10.1
上有python 3.6.9
,这是不兼容的。
解决方案是通过将以下内容添加到 devcontainer.json 来将 python 扩展降级到版本devcontainer.json
-
"settings": {
"extensions.autoUpdate": false,
"extensions.autoCheckUpdates": false
},
"extensions": [
"ms-python.python@2022.8.1",
]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.