Я главный виновный в достаточно большом пакете Python, который используется внутри нашей организации. Я занимаюсь подготовкой пакета для Python3; для кода, которым я управляю сам, это вполне выполнимо, но есть много сценариев «в дикой природе», которые будут ломаться, если/когда интерпретатор по умолчанию организации дергает до 3.x. Типичная ситуация выглядит следующим образом:Подготовка к python 3: выдавать предупреждения?
Некоторые случайные сценарий я не Conrol над:
#!/usr/bin/env python # By manipulating the environment I will ...
# ... eventually switch this to pick up python3
import company.package # This is Python3 safe.
...
print "This - will fail hard"
То, что я хотел бы сделать (если это возможно) было вставить некоторые глобальные директивы предупреждения в «компании. пакетный "код, который я контролирую, чтобы пользователи могли получить предупреждение до того, как глобальный интерпретатор подтянут до Python3. Это возможно?
Предупреждение о чем? О пакете, который портирован на Python 3? О Python3-несовместимом синтаксисе? –
Что сценарий имеет несовместимый синтаксис Python3, что в будущем приведет к жесткому сбою. В приведенном выше примере: print "...". – user422005
Чтобы не нарушать код пользователя сразу, возможно, вы могли бы стремиться поддерживать как 2.x, так и 3.x? Практически каждый нетривиальный модуль, который в какой-то момент поддерживает 2.x, все еще поддерживает его (или, по крайней мере, поддерживал его для нескольких выпусков после внедрения поддержки 3.x). – delnan