在 Python 项目中配置 VS Code 进行远程调试是一个常见的需求。以下是详细的步骤,确保你可以顺利配置并进行调试:
1. 安装 DebugPy
首先,通过 pip 安装 debugpy:
bash
pip install debugpy -U
2. 安装 VS Code 插件
确保你已经在 VS Code 中安装了 Python 插件。你可以在 VS Code 的扩展市场中搜索 Python
并安装。
3. 配置 Python 代码
在你的 Python 脚本的最前面加入以下代码,以便在运行时能够启动 debugpy:
python
import debugpy
try:
# 9501 是默认的附加端口。除非指定主机和端口,否则主机默认为 127.0.0.1
debugpy.listen(("localhost", 9501))
print("Waiting for debugger attach")
debugpy.wait_for_client()
except Exception as e:
pass
4. 配置 VS Code
在你的 VS Code 项目中,找到 .vscode
文件夹,并在其中的 launch.json
文件中添加以下配置:
json
{
"version": "0.2.0",
"configurations": [
{
"name": "sh_file_debug",
"type": "python",
"request": "attach",
"connect": {
"host": "localhost",
"port": 9501
}
}
]
}
5. 启动脚本
假设你使用 sh xxxx.sh
启动你的脚本,请确保在你的 shell 脚本或直接在 Python 代码中包含上述调试代码。
示例
假设你的 shell 脚本 run_script.sh
内容如下:
bash
#!/bin/bash
python your_script.py
确保你的 your_script.py
包含了上述调试代码部分。
6. 调试步骤
- 在 VS Code 中打开你的项目。
- 确保
launch.json
配置正确。 - 启动你的 shell 脚本,例如
sh run_script.sh
。 - 在 VS Code 中按
F5
或点击调试按钮,选择sh_file_debug
配置。 - 此时,VS Code 会尝试附加到正在运行的 Python 脚本,你应该会看到
Waiting for debugger attach
信息。VS Code 连接后,你可以设置断点并进行调试。
注意事项
- 确保你的防火墙没有阻止所使用的端口(9501)。
- 如果在远程服务器上进行调试,确保服务器的网络配置允许你的本地机器进行连接。
- 端口号需要保持一致,确保
debugpy.listen
和launch.json
中配置的端口号一致。
通过以上步骤,你应该能够成功在 VS Code 中调试你的 Python 脚本。如果有任何问题,检查端口号和网络连接是最常见的排查步骤。
参考大佬
https://github.com/yuanzhoulvpi2017/vscode_debug_transformers