Существует большое приложение Python, состоящее из множества сторонних пакетов и двоичных библиотек. Вот обзор моих требований:
- Кросс-платформенный (в настоящее время Windows и современные дистрибутивы Linux)
- Установка лотов (скажем > 100 МБ) двоичных библиотек (DLL в Windows)
- Установка сторонних пакетов Python (некоторые из них не могут быть установлены в Windows с помощью таких инструментов, как
easy_install
) - Установка распространяемого пакета Visual Studio
- Сохранение макета файла для моего пакета, если это возможно (без сжатых яиц)
- Ясный способ удалить все пакеты и библиотеки
- Распределите набор тестов (
py.test
в моем случае) - Опция для распределения без источника (
.pyc
только)
Приложение должно быть "переносимым", по крайней мере, как пакет Python (может быть установлен в любом месте с помощью VirtualEnv).
Каковы мои выборы? Должен ли я просто придерживаться setuptools
(distribute
)? Должен ли я развертывать пользовательский установщик?
Разработанное приложение является проприетарным, но предоставляет разработчикам Python API, и я хочу, чтобы он выглядел и чувствовал себя как питон и хакерский, насколько это возможно.