2010-09-18 5 views
2

Я замечаю каждый раз, когда я ставлю:Джанго UnicodeDecodeError при использовании PDB

import pdb; pdb.set_trace() 

Мой испанский проект Django, если у меня есть определенный символ Unicode в строке как:

Gracias por tu colaboración 

Я получаю UnicodeDecodeError с «порядковым номером не в диапазоне (128)» в окне отладки Django. Проблема в том, что я не могу легко отлаживать приложение. С другой стороны, если я использую IPDB я получаю такие вещи, как:

ERROR - failed to write data to stream: <open file '<stdout>', mode 'w' at 0x7f3d43e34140> 

Я гугле найти решение, но, похоже, только я один с этим вопросом :)

+0

Работает ли код без pdb? –

+0

Это на самом деле то, что меня больше всего шокирует, без pdb работает безупречно. – maraujop

ответ

0

я нашел что другой программист добавил это в начале файла просмотров, это нарушает PDB и IPDB поведение, как я описал:

import sys, codecs 
sys.stdout = codecs.getwriter('utf-8')(sys.stdout) 

Удаление или комментирование эти строки исправили проблему, спасибо.

0

Обычно эта ошибка появляется, если в файле есть символы, отличные от ascii (mabe в комментарии или строка). Если вы попытаетесь открыть его без ipdb/pdb, Django отобразит трассировку

Смежные вопросы