linux - vscode python调试器不工作:连接被拒绝
问题描述
每当我尝试调试 python 代码时,vscode 都会出错并通知我调试器的连接被拒绝。我在底部附加了完整的堆栈跟踪
我在 CentOS8 Linux 上。
到目前为止,我已经尝试过:
- SELinux 已关闭
- 防火墙被禁用
- 卸载vscode
- 删除 /home/user/.vscode
- 删除 /home/user/.config/Code
- 清除环境变量
并不是真的想知道这里可能会受到什么干扰。
我正在调试的文件print('test')
保存为 test.py :-)
/usr/bin/python /home/user/.vscode/extensions/ms-python.python-2020.1.58038/pythonFiles/ptvsd_launcher.py --default --client --host localhost --port 43259 /scratch/user/tmp/test.py
E00000.119: Exception escaped from start_client
Traceback (most recent call last):
File "/home/user/.vscode/extensions/ms-python.python-2020.1.58038/pythonFiles/lib/python/old_ptvsd/ptvsd/log.py", line 110, in g
return f(*args, **kwargs)
File "/home/user/.vscode/extensions/ms-python.python-2020.1.58038/pythonFiles/lib/python/old_ptvsd/ptvsd/pydevd_hooks.py", line 74, in start_client
sock, start_session = daemon.start_client((host, port))
File "/home/user/.vscode/extensions/ms-python.python-2020.1.58038/pythonFiles/lib/python/old_ptvsd/ptvsd/daemon.py", line 217, in start_client
connect(client, addr)
File "/home/user/.vscode/extensions/ms-python.python-2020.1.58038/pythonFiles/lib/python/old_ptvsd/ptvsd/socket.py", line 197, in connect
sock.connect(addr)
ConnectionRefusedError: [Errno 111] Connection refused
Traceback (most recent call last):
File "/home/user/.vscode/extensions/ms-python.python-2020.1.58038/pythonFiles/ptvsd_launcher.py", line 43, in <module>
main(ptvsdArgs)
File "/home/user/.vscode/extensions/ms-python.python-2020.1.58038/pythonFiles/lib/python/old_ptvsd/ptvsd/__main__.py", line 432, in main
run()
File "/home/user/.vscode/extensions/ms-python.python-2020.1.58038/pythonFiles/lib/python/old_ptvsd/ptvsd/__main__.py", line 300, in run_file
setup_connection()
File "/home/user/.vscode/extensions/ms-python.python-2020.1.58038/pythonFiles/lib/python/old_ptvsd/ptvsd/__main__.py", line 291, in setup_connection
daemon = ptvsd._remote.attach(addr)
File "/home/user/.vscode/extensions/ms-python.python-2020.1.58038/pythonFiles/lib/python/old_ptvsd/ptvsd/_remote.py", line 95, in attach
patch_multiprocessing=ptvsd.options.multiprocess)
File "/home/user/.vscode/extensions/ms-python.python-2020.1.58038/pythonFiles/lib/python/old_ptvsd/ptvsd/_vendored/pydevd/pydevd.py", line 2179, in settrace
wait_for_ready_to_run,
File "/home/user/.vscode/extensions/ms-python.python-2020.1.58038/pythonFiles/lib/python/old_ptvsd/ptvsd/_vendored/pydevd/pydevd.py", line 2230, in _locked_settrace
debugger.connect(host, port) # Note: connect can raise error.
File "/home/user/.vscode/extensions/ms-python.python-2020.1.58038/pythonFiles/lib/python/old_ptvsd/ptvsd/_vendored/pydevd/pydevd.py", line 1060, in connect
s = start_client(host, port)
File "/home/user/.vscode/extensions/ms-python.python-2020.1.58038/pythonFiles/lib/python/old_ptvsd/ptvsd/pydevd_hooks.py", line 136, in _start_client
return start_client(daemon, h, p)
File "/home/user/.vscode/extensions/ms-python.python-2020.1.58038/pythonFiles/lib/python/old_ptvsd/ptvsd/log.py", line 110, in g
return f(*args, **kwargs)
File "/home/user/.vscode/extensions/ms-python.python-2020.1.58038/pythonFiles/lib/python/old_ptvsd/ptvsd/pydevd_hooks.py", line 74, in start_client
sock, start_session = daemon.start_client((host, port))
File "/home/user/.vscode/extensions/ms-python.python-2020.1.58038/pythonFiles/lib/python/old_ptvsd/ptvsd/daemon.py", line 217, in start_client
connect(client, addr)
File "/home/user/.vscode/extensions/ms-python.python-2020.1.58038/pythonFiles/lib/python/old_ptvsd/ptvsd/socket.py", line 197, in connect
sock.connect(addr)
ConnectionRefusedError: [Errno 111] Connection refused
dmaarten
解决方案
我也有同样的问题。经过长时间的研究,我找到了我的问题的原因:
- 我的 /etc/hosts 文件中的 localhost 不是 127.0.0.1
- 因此,DebugAdapter 没有监听地址 127.0.0.1
- 因此,“ptvsd --client --host localhost”无法连接到DebugAdapter
解决方案:
在 lanuch.json 中将主机定义为 127.0.0.1
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"host": "127.0.0.1"
}
]
}
推荐阅读
- reactjs - 单击按钮时,它应该重定向到其他页面
- matlab - 如何在两个 for 循环中显示很多时间的结果?
- hadoop - 用两次双引号括起来并用逗号分隔到 HIVE 表中的数据?
- javascript - 从表格工作中过滤数据,但再次搜索后没有发现任何内容[Angular,Pagination,Table]
- git - 想要从 git 的一个分支中删除所有提交
- scala - Gatling:test 目标似乎编译了两次
- angular - Rxjs:它是如何完成的和 async/await
- c++ - Qt 应用程序的布局设计问题
- sql - 在sql server中将表达式转换为数据类型日期时间错误的算术溢出错误
- sql-server - SQL Server XML 数据 - 不返回值