Почему мой неиспользуемый исполняемый файл намного меньше

Я написал несколько игр для соревнования в Stackless Python и мне нужно было создать исполняемый файл. Случайно, однако, я использовал CPython 2.6 вместо Stackless Python 2.5 для сборки исполняемого файла. Я правильно перестроил и обнаружил, что окончательный размер дистрибутива уменьшился с чуть более 30 МБ до примерно 8. Из любопытства, почему именно это было? Предположительно, я бы рискнул, потому что я установил библиотеки, такие как Twisted и Qt4, в CPython, но не в Stackless, и пакеты Py2exe во всем, независимо от того, используются они или нет (возможно, потому что вы всегда можете вызывать код динамически), но если кто-то на самом деле знает, мне было бы интересно узнать, почему.

1 ответ

py2exe просматривает ваши зависимости и включает только те, которые, по вашему мнению, вы используете. Вы можете вручную указать список исключений, если он включает дополнительные модули.

Проверьте этот скрипт py2exe (замените "setup.py" на имя вашего основного файла py). Этот сценарий установки пропускает этап связывания, поэтому вы можете просмотреть, что занимает больше места.

Другие вопросы по тегам