Ответ 1
Если вы активно разрабатываете коммерческий продукт, и вы - действительно хотите поддерживать все эти версии должным образом, я бы предложил:
-
Написание автоматизированного набора тестов, который можно запускать и тестировать для всей библиотеки/приложения/независимо.
-
Настройка машины или, в идеале, виртуальной машины для каждой тестовой среды (python 2.2-2.6 и любые комбинации платформ, если ваш продукт не только win32). Это особенно легко сделать в настоящее время, учитывая, что сейчас есть несколько бесплатных продуктов виртуализации (VirtualBox и VMWare Server, чтобы назвать два)
-
Используя что-то вроде buildbot, чтобы автоматизировать тестирование на всех других платформах и собирать результаты.
Я мог бы отметить, однако, что произошли значительные изменения между 2.2 и 2.3, и снова между 2.3 и 2.4. Вот почему большинство библиотек python там поддерживают только 2.3, а число движется только до версии 2.4 и выше.
В каждом главном выпуске есть документ "Что нового в python 2.x", но кодировка для версии 2.2 означает, что вы пропустите:
- Генераторы (2.3) (ну, на самом деле, вы можете получить их в 2.2 с помощью
from __future__ import generators
) - Выражения генератора (2.4)
- модуль подпроцесса (2.4)
- Синтаксис декоратора (2.4)
- множества (2.3)
- decimal (2.4, но может быть обращено)
- datetime (2.3)
- itertools (2.3)
Просто чтобы назвать очень маленькое подмножество удивительных вещей, которые, вероятно, не могут быть.
Вы должны действительно подумать о том, насколько сильно вы хотите поддержать 7-летнюю версию python, и пропустите множество интересных функций, которые могут уменьшить размер вашего кода (или, возможно, просто повысить читаемость).