Фон. У меня есть небольшое приложение Python, которое облегчает жизнь разработчикам, выпускающим программное обеспечение в нашей компании. Я создаю исполняемый файл для Windows с помощью py2exe. Приложение, а также двоичные файлы проверяются в Subversion. Распространение происходит от людей, просто проверяющих каталог из SVN. Программа имеет около 6 различных зависимостей библиотеки Python (например, ElementTree, Mako)
Ситуация. Разработчики хотят взломать источник этого инструмента, а затем запустить его, не создавая двоичный файл. В настоящее время это означает, что им нужен интерпретатор python 2.6 (это хорошо), а также 6 локально установленных библиотек с помощью easy_install.
Проблема
- Это не общедоступная классическая среда с открытым исходным кодом: я внутри корпоративной сети, инструмент никогда не покинет "огороженный сад", и у нас есть серьезные неудобные препятствия для доступа к внешнему интернету (NTLM аутентифицирует прокси и/или машины без прямого доступа в Интернет).
- Я хочу, чтобы препятствия начали взламывать этот инструмент, чтобы быть минимальным: никто не должен был искать правильную зависимость в правильной версии, они должны выполнить как можно меньше настроек. Оптимально предпосылки были бы иметь установку Python и просто проверять программу из Subversion.
Анекдот: чем более самодостаточным, тем легче повторять его. У меня была моя машина, замененная на новую и прошла неприятный процесс, чтобы перепроектировать зависимости, переустановить distutils, обыскать библиотеки в Интернете и установить их для установки (см. Ограничения на корпоративный интернет).