Обратите внимание, что это изменяет ВСЕ вызовы на печать для использования кодировки, поэтому ваша консоль напечатает это:
ередаче вывода программы Python интерпретатор Python запутывается в кодировке и устанавливает для нее значение None. Это означает такую программу:
# -*- coding: utf-8 -*-
print u"åäö"
будет нормально работать при нормальной работе, но не с:
UnicodeEncodeError: кодек 'ascii' не может кодировать символ u '\ xa0' в позиции 0: порядковый номер не в диапазоне (128)
при использовании в последовательности труб.
Каков наилучший способ сделать эту работу при обвязке? Могу ли я просто сказать ему использовать любую кодировку оболочки / файловой системы / что бы она ни использовала?
До сих пор я видел предложения по прямой модификации вашего site.py или жесткому кодированию defaultencoding с помощью этого хака:
# -*- coding: utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
print u"åäö"
Есть ли лучший способ заставить трубопровод работать?