Распространение большого приложения с поддержкой Python: лучшие практики - PullRequest
10 голосов
/ 15 сентября 2011

Существует большое приложение Python, которое состоит из множества сторонних пакетов и двоичных библиотек.Вот краткий обзор моих требований:

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

Приложение должно быть «переносимым», по крайней мере, в виде пакета Python (может быть установлен в любом месте с помощью VirtualEnv).

Что такоемои варианты?Должен ли я просто придерживаться setuptools (distribute)?Должен ли я запускать пользовательский установщик?

Разрабатываемое приложение является проприетарным, но оно предоставляет API-интерфейс Python для разработчиков, и я хочу, чтобы оно выглядело и чувствовало себя как pythonish и hackerish, насколько это возможно.

1 Ответ

1 голос
/ 21 сентября 2011

Py2Exe может выполнить большинство предварительных условий и зависимостей, для удаления и дополнительной установки / удаления вы можете использовать любой создатель установщика MSI.

...