Обрезка Python Runtime - PullRequest
       3

Обрезка Python Runtime

6 голосов
/ 11 сентября 2009

У нас есть приложение (Windows), с помощью которого мы распространяем всю установку Python (включая несколько сторонних модулей, которые мы используем), поэтому у нас есть согласованность, и поэтому нам не нужно устанавливать все отдельно. Это работает довольно хорошо, но приложение довольно большое.

Очевидно, мы не используем все доступное во время выполнения. Я хотел бы сократить время выполнения, чтобы включить только то, что нам действительно нужно.

Я планирую попробовать py2exe, но я хотел бы попытаться найти другое решение, которое просто поможет мне удалить ненужные части среды выполнения Python.

Ответы [ 3 ]

6 голосов
/ 11 сентября 2009

Один трюк, который я усвоил при обрезке файлов .py для отправки: удалите все файлы .pyc из стандартной библиотеки, затем полностью запустите приложение (то есть достаточно, чтобы убедиться, что все необходимые ему модули Python будут загружен). Если вы изучите стандартные каталоги библиотек, для всех модулей, которые были фактически использованы, будут файлы .pyc. Файлы .py без .pyc вам не нужны.

5 голосов
/ 11 сентября 2009

Оба py2exe и pyinstaller ( ПРИМЕЧАНИЕ : для последней версии SVN выпущенная версия ОЧЕНЬ длинна в зубе ;-) «обрезка» через modulefinder , стандартный библиотечный модуль для поиска всех модулей, используемых данным скриптом Python; Вы, конечно, можете использовать последний для идентификации всех необходимых модулей, если вы не доверяете pyinstaller или py2exe, чтобы делать это правильно и автоматически от вашего имени.

1 голос
/ 11 сентября 2009

Эта страница py2exe о сжатии предлагает использовать UPX для сжатия любых DLL-файлов или файлов .pyd (которые на самом деле просто DLL-е). Очевидно, это не поможет обрезать ненужные модули , но может / уменьшит размер вашего дистрибутива, если это большая проблема.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...