[英]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.