Pip не может установить - ошибка «Временный сбой в разрешении имен» в Debian WSL - PullRequest
0 голосов
/ 29 мая 2020

Это мой первый вопрос о переполнении стека!

Недавно python pip install перестала работать и выдает следующую ошибку:

pip3 install django

WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f07a41b75c0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/django/

Ошибка повторяется несколько раз, пока не исчезнет.

Я использую Python3 в Linux Debian на WSL (Windows Подсистема для Linux), на Windows 10.

После некоторого поиска и просмотра некоторых предложений я обнаружил, что мой /etc/resolv.conf содержит только:

^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@

Это выглядит не совсем правильно ... может быть, в этом проблема?

Что должен содержать resolv.conf?

Размышляя о том, что может быть причиной root ... до того, как это произошло, компьютер случайно отключился от сети, пока работали apache2 и mysql запущены службы (в Debian на WSL), могло ли это вызвать проблему?

Заранее спасибо, Марк

1 Ответ

1 голос
/ 29 мая 2020

/etc/resolv.conf ( manpage ) обычно имеет только несколько, часто автоматически генерируемых строк, которые извлекаются из настроенной конфигурации DNS его сети.

В моем WSL OpenSUSE вся Файл resolv.conf:

# This file was automatically generated by WSL. To stop automatic generation of this file, remove this line.
nameserver 1.1.1.1

который он извлекает из конфигурации в моем домашнем маршрутизаторе.

Я не уверен, почему ваш resolv.conf будет отличаться от этого, если только он это что-то странное с новым WSL2, который мне еще предстоит попробовать.

Вы можете попробовать вручную настроить сервер имен или два с помощью publi c DNS, например 1.1.1.1 или 8.8.8.8. Хотя это может не помешать его перезаписи, пока вы не выясните, есть ли основная проблема.


В установленной системе Linux вместо WSL, использующей NetworkManager, он будет иметь префикс # Generated by NetworkManager вместо указанного выше примечания WSL.

...