Українська
Відкрити в Telegram

ГілкаПриклад збірки PyQt6 проєкту PyInstaller-ом.

3 повідомлення · –
P
Приклад збірки PyQt6 проєкту PyInstaller-ом. Якщо Ви все-таки наважилися зібрати свій проєкт pyinstaller у exe пропоную розглянути приклад. Як приклад будемо використовувати мій шаблон для PyQt6 Шаблон дуже простий - показує просте вікно. Він має файли які задані відносними шляхами: 1️⃣ Одна з переваг Qt - використання файлів "форм" формату *.ui в даному випадку це - main_window.ui 2️⃣ icon.png це іконка у головному вікні, вона задана main_window.ui через дизайнер "форм" QtDesiginer Напишемо pyinstaller_build.bat скрипт який буде займатись збіркою у exe SET SCRIPT_NAME=main.py SET EXE_NAME=prog .venv\Scripts\pyinstaller.exe ^ --add-data "main_window.ui;." ^ --add-data "icon.png;." ^ --icon "icon.ico" ^ --windowed ^ --onefile ^ --noupx ^ --name %EXE_NAME% ^ %SCRIPT_NAME% pause Як бачимо всі файли які використовуються програмою треба додавати опцією --add-data Також сам exe файл може мати іконку для цього має бути використана опція --icon але треба зауважити що формат іконки має бути саме .ico (png не підходить). Опція --windowed саме для GUI застосунків щоб сховати вікно консолі. Опція --onefile саме збірка у exe Опція --noupx збирати без upx стиснення. Але цього недостатньо, щоб наш додаток знаходив файли main_window.ui та icon.png при запуску треба змінювати робочу директорію (це треба робити на самому початку скрипта). try: import os, sys os.chdir(sys._MEIPASS) print(f"{sys._MEIPASS=}") except AttributeError: pass Атрибут _MEIPASS додається динамічно pyinstaller-ом - це тимчасова тека куди розпаковується проєкт Без цієї вставки коду буде помилка про те, що вказані файли відсутні. Також я додам скріншот з збіркою без опції --windowed щоб можна було побачити як виглядає sys._MEIPASS Додаткові файли будуть прикріплені у коментарях. #PyInstaller #PyQt6
👍4❤3
1 · 469 ·
  1. P
    Python Materials For Beginners Chat
    Файл
    example.zip · 14 КБ · натисніть — покажемо
  2. P
    Python Materials For Beginners Chat
    Фотографія
    натисніть — покажемо

Відкрита публічна стрічка з пошукового індексу ChatCrawler — «Google по публічному Telegram»; оновлюється в міру обходу майданчика. Час — UTC.

Лише публічний контент, офіційний API Telegram. Про проєкт · Питання · Межі індексу · Прибрати сторінку з видачі · Каталог · Пошук · Як ми рахуємо