@Alex_analitik

Как решить проблему decode('utf-8') с debugger в PyCharm?

При попытках использовать debugger в PyCharm возникает ошибка. Причем рестарт дебаггера в 20 или 30 раз подряд позволяет однократно его отработать. В остальных случаях выдает ошибку ниже:
C:\Python38\python.exe "C:\Program Files\JetBrains\PyCharm Community Edition 2020.1\plugins\python-ce\helpers\pydev\pydevd.py" --multiproc --qt-support=auto --client 127.0.0.1 --port 56033 --file "C:/Users/Newman/Google Диск/Geekbrains/Методы сбора и обработки данных из сети Интернет/Sacrapy_main/auctionsWhiskeys/one_auc_price_renew.py"
Connected to pydev debugger (build 203.7148.72)
Traceback (most recent call last):
  File "C:\Program Files\JetBrains\PyCharm Community Edition 2020.1\plugins\python-ce\helpers\pydev\_pydevd_bundle\pydevd_comm.py", line 301, in _on_run
    r = r.decode('utf-8')
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd1 in position 1023: unexpected end of data
  • Вопрос задан
  • 3670 просмотров
Пригласить эксперта
Ответы на вопрос 3
@Kat_0007
Решить проблему с кодировки мне помогло изменение настроек в PyCharm: (c windows-1251 на utf-8)
Settings - Editor - General - Console - Default Encoding

64d8a767312ae729947078.jpeg
Ответ написан
Комментировать
@kamenyuga
Одна из замечательных особенностей питончика состоит в том, что все питонячье в нем полностью открыто и доступно - объекты во время работы и код в читаемом тестовом виде. Так вот если открыть файл, указанный в сообщении об ошибке, - кстати для этого требуется один щелчок мышкой в пайчарме - то ровно перед проблемной строкой есть большое такое предупреждение про кодировку строк, а также отдельно упомянуты пайтон 2-ой версии и кодировка операционной системы. Внутри пайчарма только utf-8 и ничего больше. А винда до сих пор использует огромную россыпь кодировок, потому что utf-8 создан не майкрософтом, кириллица - это обычно windows-1251 в наше время.

Так что пути решения проблемы очевидны - переходить на пайтон 3 и использовать только ascii символы в названиях папок и файлов. Вот второе условие не соблюдается. А в этом ли корень зла - не знаю.

У меня, кстати, команда запуска пайчармовского дебаггера выглядит по-другому и нет проблем с кириллицей на windows 10. Так что, может, еще и способ запуска все портит. У меня нет вот этой части "C:\Python38\python.exe" и нет кавычек вокруг путей к файлам. Я использую виртуальные окружения, созданные в анаконде и указанные в свойствах проекта, а потом просто нажимаю на иконку зеленого жука для запуска дебаггинга.
Ответ написан
Комментировать
@antonpetrochenko
Нашел решение у китайцев, те тоже мучаются:
заменить в этом файле:
r = r.decode('utf-8') -->
r = r.decode('utf-8','ignore')

Потом посыпались ворнинги с косячными путями до моих кириллических файлов. Похоже идет проблемная связь с брекпойнтами.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы