Улучшение времени запуска скомпилированной программы на Python с использованием tkcalendar - PullRequest
0 голосов
/ 05 июня 2019

Я создаю программу с графическим интерфейсом для планирования проверок деталей в моей компании. Я использую tkinter с tkcalendar, чтобы дать пользователям возможность выбрать даты выполнения. Все работает хорошо, когда я запускаю его внутри python, однако, когда я компилирую его с помощью PyInstaller, программе требуется 30-40 секунд, чтобы открыть.

Я обнаружил, что большую часть этого времени занимает импорт tkcalendar.

Я обнаружил, что tkcalendar - это модуль, отнимающий много времени, добавляя операторы печати по всему коду и перекомпилируя с PyInstaller, чтобы он отображал терминал. Я копался глубже в tkcalendar и обнаружил, что Babel - это особый модуль, удерживающий вещи. Есть ли способ уменьшить время загрузки бабель?

Я обнаружил, что вам нужно добавить флаг --hidden-import="babel.numbers в PyInstaller при использовании tkcalendar. Отсутствие этого флага означает, что exe вообще не работает.

Я пробовал оба:

import tkcalendar

и

from tkcalendar import DateEntry

Есть ли способ ускорить это? Есть ли альтернатива tkcalendar, которая также предоставляет средства выбора даты?

...