Pycharm 调试器“正在等待连接”但运行仍在工作

问题描述 投票:0回答:3

我正在尝试使用 docker-compose 解释器调试 django 项目。

这是我的pycharm配置

Pycharm configurations image

但是当我尝试调试它时,项目仍在运行,但调试器仍在等待连接并且断点不起作用

Debugger can't connect image

我认为我的项目结构有问题,因为我正在尝试调试其他项目,但它仍然有效。

这是我的项目结构

Project structure image

我做错了什么?

python django pycharm dock
3个回答
1
投票

对于其他可能有帮助的人,我的例子中的问题是我尝试使用调试器以及在 Docker 容器功能内运行。

我还碰巧在该容器上发布了所有端口,这阻止了调试器连接。仅发布我实际需要的端口,解决了问题。


0
投票

检查机器上的运行端口。就我而言,PyCharm 想要用于调试的端口 (127.0.0.1:xxxx) 正被我笔记本电脑上的另一个程序使用。

您可以在 mac 上使用以下命令检查正在运行的端口:

lsof -i -P | grep -i "listen"

或者,一旦您知道 PyCharm 正在尝试使用哪个端口(通常您可以在开始调试过程后在 PyCharm 的控制台选项卡顶部看到该端口),请执行以下命令:

sudo lsof -i :xxxxx

运行后,您应该看到一个包含 PID 号、程序名称等的列表。然后您可以使用 PID 终止该端口上正在运行的进程:

sudo kill -9 PID

或者,只需重新启动计算机即可。

如果这不起作用,则可能是由于使用了已经存在的 Python 模块名称。确保项目中的 Python 文件的名称与 Python 中的任何其他库/代码不同。


0
投票

对我有帮助的是更改调试器端口
前往

Settings > Build, Execution, Deployment > Python Debugger
。或者搜索设置
Debugger port

默认为 29781。当您得到

Waiting for connection...
时,将端口更改为任何其他端口(例如 29782)并再次运行调试器。当它再次停止工作时,将其更改回 29781。需要时重复。

令人烦恼且远非理想的解决方案,但这里的其他答案对我不起作用。除了 PyCharm 本身之外,似乎没有其他应用程序在使用该端口。

© www.soinside.com 2019 - 2024. All rights reserved.