es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Error de tiempo de espera de depuración remota de PyCharm, posiblemente causado por una conexión de puerto.

He configurado PyCharm para la depuración remota con la configuración del servidor de depuración remota de Python según se describe en la página web de PyCharm en una máquina Mac OS y en una máquina Linux (Debian 11.1), pero obtengo un error de socket.timeout: tiempo agotado

.

En esta configuración, PyCharm emula un servidor en la máquina local donde se ejecuta PyCharm, y luego un script que se ejecuta en una máquina remota se conecta a ese servidor. A su vez, ese servidor intenta conectarse con la máquina local.

Parece que hay un problema en la conexión del servidor de PyCharm con la máquina local, y posiblemente algo con el puerto.

¿Cómo puedo comprobar si el puerto está abierto (comandos de terminal u otra cosa) o si hay algo más bloqueando la conexión?

Este es el mensaje de error completo:


No se pudo conectar a <dirección IP pública>: 12345
Traceback (most recent call last):
File "<ruta>/miniconda3/envs/env/lib/python3.9/site-packages/_pydevd_bundle/pydevd_comm.py", línea 458, en start_client
s.connect((host, port))
socket.timeout: tiempo agotado
Traceback (most recent call last):
File "<ruta>/main.py", línea 43, in <module>
pydevd_pycharm.settrace(<dirección IP pública>, port=12345, stdoutToServer=True, stderrToServer=True)
File "<ruta>/miniconda3/envs/env/lib/python3.9/site-packages/pydevd.py", línea 1689, in settrace
_locked_settrace(
File "<ruta>/miniconda3/envs/env/lib/python3.9/site-packages/pydevd.py", línea 1745, in _locked_settrace
debugger.connect(host, port) # Nota: connect puede generar un error.
File "<ruta>/miniconda3/envs/env/lib/python3.9/site-packages/pydevd.py", línea 655, in connect
s = start_client(host, port)
File "<ruta>/miniconda3/envs/env/lib/python3.9/site-packages/_pydevd_bundle/pydevd_comm.py", línea 458, in start_client
s.connect((host, port))
socket.timeout: tiempo agotado

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para verificar si el puerto está abierto y si hay algo más que está bloqueando la conexión, puedes usar los siguientes comandos de terminal:

    1. netstat -tulpn – este comando te mostrará una lista de todos los puertos abiertos actualmente en tu máquina y los programas correspondientes que los están utilizando. Busca el número de puerto específico al que estás tratando de conectarte.
    2. telnet <dirección ip="" local=""> <puerto> – este comando intentará conectarse al puerto especificado en la máquina local. Si la conexión es exitosa, deberías ver una pantalla en blanco. Si la conexión falla, significa que el puerto está cerrado o bloqueado por un firewall.

    3. Si tienes un firewall funcionando en tu máquina, debes verificar si está permitiendo el tráfico en el puerto al que estás intentando conectarte. Los pasos exactos para hacer esto dependen del software del firewall que estés utilizando.

    4. También puedes intentar desactivar temporalmente el firewall para ver si es la causa del problema de conexión.

    Realizando estas comprobaciones, deberías poder determinar si hay un problema con el puerto o si algo más está bloqueando la conexión.</dirección>

Comments are closed.