Двойная разработка Python 2 и Python 3

Я только начинаю новый проект Python, и в идеале я хотел бы предложить поддержку Python 2 и 3 с самого начала с минимальными затратами на разработку. Мой вопрос: как лучше всего это сделать для новых проектов?

Я сталкивался с проектами, которые запускают 2to3 или даже 3to2 как часть сценария установки. Кажется, это очень распространенный способ. Тем не менее, похоже, есть несколько разных способов сделать это. Я также наткнулся на Distribute .

Также можно попытаться написать полиглотный код Python 2/Python 3. Несмотря на то, что это кажется ужасной идеей, я заметил, что в последнее время я склонен писать код, который более идиоматичен, чем код Python 3, хотя я все еще запускаю его как Python 2. У меня такое ощущение, что это только помогает моему собственному переходу, когда день, наконец, наступает, и он мало что делает для предложения или, по крайней мере, помощи двойной поддержки.

Большинство проектов, предлагающих двойную поддержку, которые я видел, добавили поддержку Python 3 поздно,поэтому мне особенно любопытно, есть ли лучший способ, который больше подходит для новых проектов, где у вас есть преимущество чистого листа.

Спасибо!

29
задан jonrsharpe 30 December 2018 в 14:57
поделиться