Укажите версию Python для Virtualenv в файле Requirements.txt

Я использую virtualenv для разработки приложения django с командой. На сервере, на котором выполняется развертывание, работает python 2.6, но по умолчанию для наших машин – 2.7.3. Есть ли способ указать версию python в файле requirements.txt или что-то подобное в базе кода?

Я знаю, что требования.txt – вещь для пипсов, а версия python – виртуальная вещь, но было бы очень удобно не рассказывать каждому новому человеку, присоединяющемуся к команде, как настроить свой virtualenv.

Ни пип, ни virtualenv не устанавливают python (хотя пытается попробовать pip ). Они используют все, что вы указываете.

Вы можете написать README, который упоминает требуемую версию Python или предоставить сценарий для работы с материалами, который может быть установлен на localhost и указать там версию. Например, инструкции по установке virtualenv, pip, распространение .

Для тех людей, которые не читают инструкции, может существовать система CI ( jenkins , buildbot ), которая может запускать модульные тесты с использованием поддерживаемых версий python (до / после фиксации).

Чтобы управлять несколькими установками python, вы можете использовать что-то вроде pythonz .

было бы очень удобно не рассказывать каждому новому человеку, присоединяющемуся к команде, как настроить свой виртуальный

Просто добавьте его в обычный набор инструкций, которые вы даете новым членам при соединении; прямо там же, когда вы расскажете им о внутренней вики документации, пароль к Wi-Fi и номер телефона в магазине доставки сэндвича.

Было бы крайне нецелесообразно не рассказывать людям и самим определять это; в первый раз они представляют что-то, что использует collections.Counter Контент только для того, чтобы узнать, что он сломал сборку, потому что у сервера нет 2.7.x

Согласно вашему комментарию, единственная проблема здесь должна заключаться в том, чтобы убедиться, что код с кодом 2.7 не попадает в вашу базу кода. Для этого я рекомендую использовать tox и настроить его на создание среды 2.6 для тестирования, так что, когда ваши сотрудники запускают ваш тестовый пакет, тесты выполняются в виртуальной среде 2.6 .