Трудности В Создании Приложений Python3 + Qt5 Для Windows

Недавно мне нужно было сделать небольшую программу для Windows. Я никогда раньше не разрабатывал для этого.

Сама программа не сложная и написана относительно быстро.

Сборка его для Windows заняла гораздо больше времени.

Понятно, что выбранные инструменты (Python3+Qt5) не нативные, а универсальные, но я не ожидал, что на сборку уйдет столько времени.

Соответственно, хотелось бы поделиться своей практикой, возможно, кому-то еще придется стукнуться лбом об эту стену.

Ниже приведены с трудом добытые инструкции о том, как легко собрать приложения PyQt5 в один файл.

exe, не требующий установщика.

Наиболее известные решения для моей задачи — создания приложений Python в формате .

exe — это: py2exe, cx_freeze и pyinstaller. О каждом написано немало.

Но очень часто авторы грешат халтурой - программа легко и быстро собирается и запускается.

на одном и том же компьютере.

Нужно ли говорить, что это две большие разницы — запуск в среде разработки и запуск у пользователя? У меня будет работать без всяких сборок и танцев с бубном.

Кроме того, какой пользователь будет устанавливать Qt? Для каждого инструмента есть инструкция.

Но у каждого были свои проблемы: один не запускался (pyinstaller до сих пор поддерживает Python 3 в экспериментальном режиме), другой собирал то, что не мог запустить, третий вообще долго ничего не собирал, проклиная все вокруг.

После долгой борьбы был выбран py2exe. Секрет успеха — правильная установка компонентов из правильных источников (прямых ссылок не даю, т. к.

они все равно будут устаревшими, пишу где искать):

  • Win XP 32-битная (или другая, которую вы используете за основу — я специально взял самую старую систему)
  • Python 3.4 – установить с помощью www.python.ord/download MSI-установщик Windows x86. Вы можете сразу добавить C:\Python34\ в %PATH%.

  • PyWin32 — установите файл pywin32-219.win32.py3.4.exe с sf.net.
  • Qt5.5 — установка с официального сайта qt.io. Одновременно с ним устанавливается компилятор mingw4.9.2.
  • После установки добавьте C:\Qt\Tools\mingw492_32\bin в %PATH%.

  • Git для Windows — он нам в любом случае понадобится, установите с git-scm.com
  • PyQt5 — загрузите и установите установщик win32 x86 Riverbankcomputing.co.uk
  • SIP — до сих пор не понимаю почему, но тот же Riverbankcomputing.co.uk не удосужился собрать сервисный модуль, поэтому скачиваем исходники win, распаковываем, далее удобно продолжать работу в консоли Git Bash:
  • python configure.py -p win32-g++
  • mingw32-make.exe
  • Установка mingw32-make.exe.
  • Разумеется, установка не пройдет (.

    К счастью, нам нужно установить всего 3 файла.

    Заходим вручную в папку sipgen/ и копируем sip.exe в C:\Python34.

  • Затем перейдите в .

    /siplib и

  • скопируйте sip.pyd c:\python34\Lib\site-packages
  • зачистите /c/Python34/Lib/site-packages/sip.pyd
  • Наконец, скопируйте файл .

    h:

  • cp sip.h /c/Python34/include/
  • py2exe — установить родным способом: python -m pip install py2exe
  • pyreadline — также: python -m pip install pyinstaller
  • 7-Zip - скачать x86 exe с сайта 7-zip.org
  • 7-zip extra - скачайте оттуда полезные дополнения, распакуйте их в папку с установленной папкой 7-zip. Вы можете забыть о конфликтах текстовых файлов.

  • Ресурс Хакер — скачайте angusj.com — однако, если вы не собираетесь заменять дефолтный значок программы на свой, то он вам не понадобится.

    Либо его можно заменить на виндрес, который идет в комплекте с mingw - но я это уже сделал с RH.

Делюсь своим setup.py:
   

from distutils.core import setup import os, sys import py2exe from glob import glob import PyQt5 NAME="Proga" qt_platform_plugins = [("platforms", glob(PyQt5.__path__[0] + r'\plugins\platforms\*.

*'))] data_files.extend(qt_platform_plugins) msvc_dlls = [('.

', glob(r'C:\Windows\System32\msvc?100.dll'))] data_files.extend(msvc_dlls) # print(data_files) sys.argv.append('py2exe') setup(

Теги: #python #python3 #qt5 #PyQt5 #exe #Windows #python #Qt #разработка для Windows
Вместе с данным постом часто просматривают: