Я хочу официально отказаться от поддержки python 2 для программы, которую я поддерживаю, и в полной мере использовать возможности python 3. Вместо того, чтобы иметь программу, которая работает более или менее под управлением python 2, но не справляется со странным поведением в угловых случаях, я хотел бы официально разбить мою программу на python 2 с явным сообщением об ошибке «пожалуйста, используйте python 3 вместо». Какой самый разумный способ провалиться с ошибками для неподдерживаемых версий python?Есть ли стандартный способ объявить старые версии python неподдерживаемыми?
Например, я хотел бы импортировать код в python 2 (по крайней мере, пакет верхнего уровня), чтобы вызвать ошибку, а для моего скрипта setup.py distutils ошибка при попытке установить или создать его для python 2 (даже при вызове через python 3, например python3 setup.py sdist_dsc --with-python2
). Я также хотел бы включить любые соответствующие метаданные, чтобы официально объявить, какие версии python я поддерживаю. Есть поле Requires-Python в PEP 345, но я не думаю, что это важно, если я не использую distutils2.
Я бы тоже отлично пощечины какой-то перевод 3to2 на него для лучшей совместимости с python 2 назад, но IIUC - это ручной процесс и не предлагает каких-либо простых переводов на лету. –