Уменьшить приложение Python wxPython OS X, созданное с помощью py2app? - PullRequest
1 голос
/ 20 октября 2010

Я только что сделал небольшое приложение Python wxPython с помощью py2app.Все работало, как рекламировалось, но приложение довольно большого размера.Есть ли способ оптимизировать py2app, чтобы приложение стало меньше по размеру?

Ответы [ 2 ]

2 голосов
/ 21 октября 2010

Это обходной путь.

Это будет зависеть от того, на какую ОС вы хотите установить таргетинг. Python и wxPython поставляются в комплекте с каждой установкой Mac OS X (по крайней мере, начиная с Leopard, если я правильно помню)

Что вы можете попробовать, это добавить параметр компиляции --alias. Согласно py2app doc :

Режим псевдонима (опция -A или --alias) инструктирует py2app создавать пакет приложений, который использует ваши исходные файлы и файлы данных на месте.

Чтобы приложение попыталось использовать версию wxPython для Mac OS X.

ОСТОРОЖНО
Параметр alias называется режим разработки .

Если вы используете другую библиотеку, которая не входит в Mac OS X, она не будет работать .
Если вы хотите портировать ваше приложение на Windows или Linux, не будет работать .

Я успешно использовал этот метод, но в итоге вернулся к архивированию файла размером 30/40 МБ. Что в итоге не , что большое.

1 голос
/ 20 октября 2010

py2app или любой другой такой упаковщик в основном объединяет все зависимости и файлы, чтобы вы могли легко распространять их. Размер обычно большой, так как он объединяет все зависимости, разделяет библиотеки, пакеты вместе с вашим файлом скрипта. В большинстве случаев будет трудно уменьшить размер.

Как бы то ни было, вы можете обеспечить следующее, чтобы в прилагаемом приложении было меньше ошибок.

  • Не используйте параметр --no-strip, это обеспечит удаление символов отладки.
  • Использовать опцию оптимизации "--optimize 2 or -O2"
  • Используйте опцию "--strip (-S)" для удаления отладочных и локальных символов с вывода
  • Используйте "--debug-skip-macholib", это не сделает его действительно автономным, но уменьшит размер
  • Я надеюсь, что вы удалили ненужные файлы из wxPython, такие как demo, doc и т. Д.
...