Bug 4178 - python2.3 выдает DeprecationWarning на русские символы в комментариях
: python2.3 выдает DeprecationWarning на русские символы в комментариях
Status: CLOSED NOTABUG
: Sisyphus
(All bugs in Sisyphus/python23)
: unstable
: all Linux
: P4 minor
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2004-05-16 16:45 by
Modified: 2005-06-25 15:18 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2004-05-16 16:45:52
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
------- Comment #1 From 2004-05-16 20:41:14 -------
bugzilla sux
------- Comment #2 From 2004-05-16 23:29:49 -------
Это не ошибка, это совершенно нормально поведение питона начиная с версии 2.3, 
которая появилась полтора года назад (т.е. еще на беттах). 
Ошибка в тех программах, для которых это происходит. Для того что бы этого не 
было, должно быть выполнено одно из двух условий: 

 1. Все комментарии набраны латиницей (и на английском языке, что является 
рекомендацией Гвидо); 

 2. В начале файла с исходником указана кодировка исходника в формате emacs, 
например:  

# -*- coding: KOI8-R -*- 

Необходимо отметить, что данная строка затрангивает не только комментарии но 
и строковые литералы (которые будут преобразоваываться различным образом при 
компиляции в зависимости от указанного значения). 
------- Comment #3 From 2004-05-16 23:44:15 -------
Ok. Это не баг, это фича :)

Плохо то, что это мешает использовать Питон в качестве учебного языка в школе.
Ни пункт 1, ни пункт 2 в качестве решения не подходит.
Пункт 1 потому, что комментарии для школьников/школьникам надо писать по-русски.
Пункт 2 потому, что это загромождает программу ненужными и малопонятными
инструкциями.
Идеальное решение для моего случая - чтобы эту фичу можно было отключить
каким-нибудь конфигурационным файлом или ключом запуска (я бы тогда на него
alias сделал).
------- Comment #4 From 2004-05-17 08:38:18 -------
К пункту 1 я тоже отношусь довольно скептически, хотя и стараюсь ему следовать, 
что до пункта 2.... Начиная с версия 2.3 эта "ненужная и непонятная
конструкция" часть 
языка питон. Язык питон (да и вообще любой язык программирования) полон
"ненужных 
и непонятных" конструкций, задача преподавателя - не только понимать их
назначение 
самому, но и уметь объяснить ученикам. Что касается возможности (и
необходимости) 
указать кодировку файла с исходным текстом программы, то в современном мире это 
крайне полезная и своевременная мера, нормальная работа без которой затруднена. 

Все это было терто и перетерто вдоль и поперек в питоновских списках рассылки 
полтора-два года назад и возвращатся к этому спору я не вижу смысла -
посмотрите 
архивы. 

(кстати, отключить deprication warning ключом или конфгурационным файлом - не
очень 
большая проблема, попробуйте посмотреть man python или доки на модули warning, 
site.py, etc - наверно поможет).