Страницы

Поиск по вопросам

понедельник, 2 декабря 2019 г.

UnicodeDecodeError при запуске нового Django-проекта на Windows

#python #windows #django


Создаю новый проект на Django c помощью PyCharm. Ничего не меняю. При запуске проекта
выбивает ошибку:

"C:\Program Files (x86)\JetBrains\PyCharm 5.0.3\bin\runnerw.exe"
C:\Python34\python.exe E:/Projects/Proj_test/manage.py runserver 8000

Performing system checks...

System check identified no issues (0 silenced).

You have unapplied migrations; your app may not work properly until
they are applied. Run 'python manage.py migrate' to apply them.
January 23, 2016 - 12:55:37
Django version 1.9.1, using settings 'Proj_test.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

Unhandled exception in thread started by .wrapper
at 0x036E9078>

Traceback (most recent call last):
  [...]
  File "C:\Python34\lib\http\server.py", line 138, in server_bind
    self.server_name = socket.getfqdn(host)
  File "C:\Python34\lib\socket.py", line 467, in getfqdn
    hostname, aliases, ipaddrs = gethostbyaddr(name)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc2 in position 0: invalid continuation byte


Аналогичная ситуация при использовании Visual Studio. Смена версии Python не решает.
Использую Windows 7.

Подскажите, как можно решить данную ошибку.
    


Ответы

Ответ 1



Это был баг в Питоне 3.4: Windows: socket.gethostbyaddr(name) fails for non-ASCII hostname. Он исправлен, так что обновление версии Питона до 3.5+ должно помочь. Если вы не можете обновиться, то попробуйте передать имя хоста как ip-адрес (например, python manage.py runserver 127.0.0.1:8000) или переименуйте хост, чтобы в имени не было не-ASCII символов.

Ответ 2



В приведенном выводе ошибок можно заметить: You have unapplied migrations; your app may not work properly until they are applied. Run 'python manage.py migrate' to apply them. и также: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc2 in position 0: invalid continuation byte Скорее всего действительно проблемы с кодировкой. Видимо в файле русская буква В (в кодировке cp1251, характерной для винды), а вот где-то в недрах проекта указано, что ожидается кодировка utf-8...

Ответ 3



Вопрос решен. Проблема состояла в том, что имя компютера было указано кирилицей. Поменял на латиницу и все ок.

Ответ 4



что то какие то сложные ответы. Зачем все это когда можно просто открыть нужную страницу в Notepad++ и преобразовать её в utf-8 ведь debugger описал что суть его проблемы только в том что он встретил символ в какой то кадрировке которая не совсем похожа на unicode

Ответ 5



У меня такая же была проблема Windows 8. Поменял имя юзера на латинском языке не помогло. В дебаге обнаружил, что в файл utf-8.py подается путь с кирилицей C:\Users\Пользователь. В переменную input подставил путь. И все заработало. def decode(input, errors='strict'): try: codecs.utf_8_decode(input, errors, True) except: input='c://windows' pass return codecs.utf_8_decode( input, errors, True)

Комментариев нет:

Отправить комментарий