python23-2.3.3-alt6.2.1, локаль ru_RU.KOI8-R Русские символы в комментариях программы на питоне приводят к появлению предупреждения. Steps to Reproduce: $ echo " # Бла-бла-бла" | python2.3 Actual Results: sys:1: DeprecationWarning: Non-ASCII character '\xe2' in file <stdin> on line 1, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
bugzilla sux
Это не ошибка, это совершенно нормально поведение питона начиная с версии 2.3, которая появилась полтора года назад (т.е. еще на беттах). Ошибка в тех программах, для которых это происходит. Для того что бы этого не было, должно быть выполнено одно из двух условий: 1. Все комментарии набраны латиницей (и на английском языке, что является рекомендацией Гвидо); 2. В начале файла с исходником указана кодировка исходника в формате emacs, например: # -*- coding: KOI8-R -*- Необходимо отметить, что данная строка затрангивает не только комментарии но и строковые литералы (которые будут преобразоваываться различным образом при компиляции в зависимости от указанного значения).
Ok. Это не баг, это фича :) Плохо то, что это мешает использовать Питон в качестве учебного языка в школе. Ни пункт 1, ни пункт 2 в качестве решения не подходит. Пункт 1 потому, что комментарии для школьников/школьникам надо писать по-русски. Пункт 2 потому, что это загромождает программу ненужными и малопонятными инструкциями. Идеальное решение для моего случая - чтобы эту фичу можно было отключить каким-нибудь конфигурационным файлом или ключом запуска (я бы тогда на него alias сделал).
К пункту 1 я тоже отношусь довольно скептически, хотя и стараюсь ему следовать, что до пункта 2.... Начиная с версия 2.3 эта "ненужная и непонятная конструкция" часть языка питон. Язык питон (да и вообще любой язык программирования) полон "ненужных и непонятных" конструкций, задача преподавателя - не только понимать их назначение самому, но и уметь объяснить ученикам. Что касается возможности (и необходимости) указать кодировку файла с исходным текстом программы, то в современном мире это крайне полезная и своевременная мера, нормальная работа без которой затруднена. Все это было терто и перетерто вдоль и поперек в питоновских списках рассылки полтора-два года назад и возвращатся к этому спору я не вижу смысла - посмотрите архивы. (кстати, отключить deprication warning ключом или конфгурационным файлом - не очень большая проблема, попробуйте посмотреть man python или доки на модули warning, site.py, etc - наверно поможет).