Linux Mint 21下如何调试Nemo嵌入式Python扩展?
调试Nemo Python扩展的正确方法
针对你遇到的RuntimeError: Can't listen for client connections: [Errno 98] Address already in use错误,按以下步骤解决:
1. 排查并释放端口占用
首先确认目标端口是否被其他进程占用,执行命令:
lsof -i :5678
如果输出有进程信息,用kill -9 <PID>杀掉对应进程;或者直接更换一个未被占用的端口(比如5679),确保扩展代码和VSCode配置里的端口一致。
2. 修正扩展代码中的错误
从报错堆栈看,你的代码里写了debugpy.listen(('127.0.0.18', 5679)),这里的IP地址127.0.0.18是无效的,必须改成127.0.0.1。同时添加监听判断,避免Nemo多次加载扩展时重复监听端口:
import debugpy # 仅在未监听且未连接时启动调试服务 if not debugpy.is_listening() and not debugpy.is_client_connected(): debugpy.listen(('127.0.0.1', 5678)) debugpy.wait_for_client()
3. 正确启动Nemo
先关闭所有运行的Nemo进程,避免旧实例占用资源:
killall nemo
然后从终端启动Nemo(禁用桌面集成,防止自动加载多个实例):
nemo --no-desktop
此时Nemo会挂起等待调试连接。
4. 修正VSCode的launch.json配置
移除配置中多余的逗号,添加路径映射(确保本地脚本和Nemo加载的扩展路径对应):
{ "version": "0.2.0", "configurations": [ { "name": "Python: Remote Attach", "type": "python", "request": "attach", "host": "127.0.0.1", "port": 5678, "pathMappings": [ { "localRoot": "${workspaceFolder}", "remoteRoot": "/home/phil/Personnalisation/Nemo/nemo-python extensions" } ] } ] }
5. 系统级安装debugpy
不要手动将debugpy放在扩展目录,直接用系统包管理器安装,确保Nemo的Python环境能正确调用:
sudo apt install python3-debugpy
完成以上步骤后,启动VSCode的调试会话,即可正常命中断点调试Nemo扩展。
内容的提问来源于stack exchange,提问作者sayanel
相关产品推荐
相关产品推荐

