Pyinstaller OneFile Исполняемый файл Невероятно Огромный и Медленный

Я знаю, что я не первый, кто спрашивает, но другие ответы на форуме не могли мне помочь, поэтому я спрашиваю. У меня есть короткий (181 строка) Python-скрипт, который имеет только импорт

import numpy as np import matplotlib.pyplot as plt from matplotlib.widgets import Slider, RadioButtons

и запускает интерактивный математический инструмент с ползунками и переключателями. Но когда я собрал его с помощью pyinstaller, у меня появилась огромная (90 МБ) папка dist, которая, похоже, включает в себя всевозможные ненужные пакеты, такие как babel и криптография. Исполняемый файл занимает около 5 секунд, чтобы отобразить рисунок. Когда я запускаю его с параметром --onefile, все кажется не лучше, так как я получаю исполняемый файл размером 43 МБ, который занимает еще больше времени, около 10 секунд, для отображения рисунка.

Я уверен, что это не ошибка сценария, потому что в Spyder требуется меньше секунды, чтобы раскрыться. Я подозреваю, что это из-за всех посторонних пакетов. Если так, как я могу заставить pyinstaller исключить их, и если нет, то в чем заключается вероятная проблема? Благодарю.

РЕДАКТИРОВАТЬ: Кроме того, я делаю все это в виртуальной среде conda, которую я где-то читал уже должно помочь сделать исполняемый файл Pyinstaller меньше. После создания среды единственными пакетами, которые я непосредственно установил, были pyinstaller, spyder, numpy и matplotlib.

1 ответ

Это происходит потому, что при создании исполняемого файла вы также используете библиотеки, а я импортирую только то, что необходимо для программы, а затем компилирую это, например, для приложения в Tkinter:

      from tkinter import Tk, Label
root = Tk()
Label(root, text='Label').pack()
root.mainloop()
Другие вопросы по тегам