Имя хоста написано кириллицей и Python 3.4 или старее?
Windows: socket.gethostbyaddr(name) fails for non-ASCII hostname
bugs.python.org/issue26227
- Обновить Python
- Переименовать хост
- Либо запускать Django передав ему ip адрес вместо имени хоста
python manage.py runserver 127.0.0.1:8000
UPD:
я попробовал воспроизвести подобную ошибку в среде Win 10 (в VirtualBox) и у меня получилось только в случае
если в файле hosts присутствует алиас с кириллицей и локаль Windows русская.spoiler
Если удалить русский, оставив только английский (на русском только интерфейс системы), то всё ок.
Так-же не удалось воспроизвести ошибку если при запуске указывать ip хоста как 127.0.0.2python manage.py runserver 127.0.0.2:8080
При условии, что в hosts нет алиаса с кириллицей для него.
На чистой системе (установлены только Python 3.7.2 и Pycharm Community, русская локаль) подобной ошибки нет.
Заглянул в исходники socket.py и socketmodule.c
Скорее всего данная особенность связаны с этой частью исходного кода Python на C, а именно PyUnicode_DecodeFSDefault#ifdef MS_WINDOWS /* Issue #26227: gethostbyaddr() returns a string encoded * to the ANSI code page */ return PyUnicode_DecodeFSDefault(name); #else /* Decode from UTF-8 */ return PyUnicode_FromString(name); #endif
Далее, если имя хоста не написано кириллицей и в hosts нет кириллицы следует вывод, что с высокой долей вероятности дело в стороннем софте(антивирус, кривой кряк и т.д.).