1 votos

Python en Terminal no puede resolver consultas DNS

Tengo un problema extraño con Python en macOS Sequoia durante los últimos días. No ocurrió justo después de la actualización, funcionó inicialmente. Python en Terminal.app no puede resolver ninguna consulta DNS. Sin embargo, la consola de Python y la Terminal integrada en PyCharm funcionan perfectamente.

Aquí tienes un ejemplo; el comando http es HTTPie, un utilitario basado en Python:

% http google.com

http: error: gaierror: [Errno 8] nodename nor servname provided, or not known
No se pudo resolver el nombre de host proporcionado. Por favor, verifica la URL e intenta nuevamente.

% python3
Python 3.12.6 (principal, Sep  6 2024, 19:03:47) [Clang 16.0.0 (clang-1600.0.26.3)] en darwin
Escribe "help", "copyright", "credits" o "license" para obtener más información.
>>> import socket
>>> socket.getaddrinfo('google.com', 80)
Rastreo (llamada más reciente):
  Archivo "", línea 1, en 
  Archivo "/opt/homebrew/Cellar/python@3.12/3.12.6/Frameworks/Python.framework/Versions/3.12/lib/python3.12/socket.py", línea 976, en getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
socket.gaierror: [Errno 8] nodename nor servname provided, or not known
>>> ^D

% curl google.com

...

% dig google.com
...
;; SECCIÓN DE RESPUESTA:
google.com.     41  IN  A   142.250.184.206

;; Tiempo de consulta: 14 msec
;; SERVIDOR: 192.168.178.1#53(192.168.178.1)
;; CUÁNDO: Vie Oct 04 10:13:02 CEST 2024
;; TAMAÑO DEL MENSAJE  rcvd: 55

% http -v 142.250.184.206
GET / HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate
Connection: keep-alive
Host: 142.250.184.206
User-Agent: HTTPie/3.2.3

HTTP/1.1 301 Moved Permanently
...

Como puedes ver, las conexiones de red en general están bien, solo las consultas DNS no pueden resolverse. Se agotan después de unos 30 segundos. Sin embargo, lo mismo dentro de PyCharm funciona bien.

He leído que las variables de entorno HTTP_PROXY pueden ser un problema, pero no las tengo configuradas.

No sé lo suficiente sobre la resolución de DNS y cómo Python la utiliza para saber ni siquiera dónde buscar. ¿Alguna idea?

0voto

DShook Puntos 5361

Para lo que vale, la actualización 15.0.1 parece haber solucionado el problema. No estoy seguro si simplemente sucedió que se restableció algo que podría descontrolarse nuevamente en el futuro, o si realmente fue algún fallo de la versión .0. De cualquier manera, por ahora no se puede reproducir más.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X