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