Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Python-EXE слишком большая. Как уменьшить?

719  
Kot_Basilio свой человек30.12.20 19:54
NEW 30.12.20 19:54 

Добрый вечер,

Я накалякал маленький код в Python и компиллировал в exe (всё в одном файле) . Из 6 кВ кода стало 16 МВ как ехе.

Там правда примитивная GUI тоже есть. Использовал auto-py-to-exe.


Можно как-то уменьшить ехе? Или только выкидыванием всех ненужных библиотек?


Спасибо.


#1 
uscheswoi_82 свой человек30.12.20 20:36
uscheswoi_82
30.12.20 20:36 
в ответ Kot_Basilio 30.12.20 19:54
Можно как-то уменьшить ехе?

Пару раз делал EXE-шники, насчёт сжатия никогда не задумывался, правда я уже не помню какой утилитой я делал EXE, сейчас устанавливаю PyInstaller, потом попробую сжать UPX, а спомощью UPX https://upx.github.io/ не пробывали сжимать?

кто как обзывается, тот так сам называется... маску ношу чтобы не заразить антиваксеров... Дневник тяжелобольного инвалида
#2 
uscheswoi_82 свой человек30.12.20 21:17
uscheswoi_82
NEW 30.12.20 21:17 
в ответ uscheswoi_82 30.12.20 20:36

НП

Установил PyInstaller спомощью команды

pip install pyinstaller


Откомпилировал в EXE-шник но без иконок, и указал что один файл

pyinstaller --onefile main.py


Дальше дал команду:

upx.exe --best main.exe


Результат сжатия:

C:\win32testpyorig>upx.exe --best main.exe
Ultimate Packer for eXecutables
Copyright (C) 1996 - 2020
UPX 3.96w Markus Oberhumer, Laszlo Molnar & John Reiser Jan 23rd 2020
File size Ratio Format Name
-------------------- ------ ----------- -----------
6367602 -> 6261106 98.33% win64/pe main.exe
Packed 1 file.

До сжатия размер EXE-шника был 6367602, после сжатия 6261106.

кто как обзывается, тот так сам называется... маску ношу чтобы не заразить антиваксеров... Дневник тяжелобольного инвалида
#3 
Kot_Basilio старожил30.12.20 22:07
NEW 30.12.20 22:07 
в ответ uscheswoi_82 30.12.20 21:17

Спасибо, то есть 1,67% мне погоды не сделает.


#4 
uscheswoi_82 свой человек30.12.20 23:16
uscheswoi_82
NEW 30.12.20 23:16 
в ответ Kot_Basilio 30.12.20 22:07

А зачем бинарный файл вообще сжимать? Бинарный файл плохо сжимается.

кто как обзывается, тот так сам называется... маску ношу чтобы не заразить антиваксеров... Дневник тяжелобольного инвалида
#5 
  yurka_ffm постоялец31.12.20 08:07
NEW 31.12.20 08:07 
в ответ Kot_Basilio 30.12.20 19:54

Разве 16Мб это много?

Или это для embedded? (с GUI?)

#6 
Kot_Basilio старожил31.12.20 09:13
NEW 31.12.20 09:13 
в ответ yurka_ffm 31.12.20 08:07

16 МВ по сути не очень много, но могут возникнуть проблемы с посылкой через Email. У многих ограничения ещё есть до 10 MB.

Нет, это не для embedded, иначе зачем GUI.


#7 
koder патриот31.12.20 11:21
koder
NEW 31.12.20 11:21 
в ответ Kot_Basilio 31.12.20 09:13
но могут возникнуть проблемы с посылкой через Email.


Могут в любом случае. Некоторые ЕМэил-Клиенты нервно реагируют на ехе. И вырезают его нафиг.

Я бы подумал на тему выложить прогу где нибудь в инете и организовать ссылку на нее. Ссылку пересылать.


#8 
uscheswoi_82 свой человек31.12.20 11:28
uscheswoi_82
NEW 31.12.20 11:28 
в ответ Kot_Basilio 31.12.20 09:13

Для этого есть облачные сервисы, по эл. почте отправляете ссылку на файл, и его скачивают.

кто как обзывается, тот так сам называется... маску ношу чтобы не заразить антиваксеров... Дневник тяжелобольного инвалида
#9 
Kot_Basilio старожил31.12.20 18:24
NEW 31.12.20 18:24 
в ответ koder 31.12.20 11:21, Последний раз изменено 31.12.20 18:52 (Kot_Basilio)

Вы правы, этот вариант будет беспроблемнее, чем по Email пересылать.

Спасибо.

С наступающим! 🍾


#10 
daduda местный житель02.01.21 03:28
NEW 02.01.21 03:28 
в ответ Kot_Basilio 31.12.20 18:24

Облачные сервисы почти всегда блокируются корпоративным прокси.

#11