Как правило, ваш скрипт должен требовать, чтобы пользователи установили более старую версию Python. Python очень редко нарушает обратную совместимость (например, при переходе с 2.x на 3.x), поэтому нет необходимости указывать конкретную версию 3.x
Конечно, возможно, что версия ваших коллег слишком старая, и в этом случае они должны обновиться. Ваш скрипт может просто проверить, доступна ли достаточно новая версия Python:
import sys
if sys.version_info.major < 3 or sys.version_info.minor < 5:
print("Python version 3.5 or newer required.")
exit(1)
Просто убедитесь, что вы знаете, зачем вам нужна конкретная версия. Если ваши коллеги установили достаточно обновленную версию и установили пакеты из requirements.txt
, менеджер пакетов автоматически установит версию пакетов, соответствующую их текущей версии Python, и, предполагая, что это исправные пакеты, они также должны быть обратно совместимы. Если нет, вы можете указать конкретные версии пакетов в requirements.txt
.
Если то, чем вы делитесь, само по себе является пакетом, вы можете сделать это в setup.py
, подробнее здесь Запретить установку пакета на старых версиях Python
Обратите внимание, что если вы хотите, чтобы вышеописанное продолжало работать после 3.x (потому что младшая версия 4.0 будет 0, что <5), вы можете использовать: </p>
if sys.version_info < (3, 5):
etc.
Но это предполагает, что 4.x будет обратно совместимым для всего, что вы делаете, также - в зависимости от того, что вы собираетесь делать конкретно, вы можете сделать исключение и для будущих версий.