Заморозить приложения PyGObject в Windows - PullRequest
0 голосов
/ 20 октября 2018

В настоящее время я использую PyGObject для создания простого приложения GTK +.Я в основном фокусируюсь на GNU / Linux, но я бы хотел сделать его доступным и для Windows.Кажется, что единственный способ запустить его - использовать MSYS2 MinGW в Windows и установить туда библиотеки.Я также видел setup.py для cx_Freeze, который мне удалось использовать, но у cx_Freeze нет ни одной опции файла, и я хотел бы иметь переносимый исполняемый файл, который объединяет все зависимости.Я успешно использовал PyInstaller из своей системы Arch, и есть ли способ использовать его и в MinGW?Или какие еще варианты я должен заморозить и связать это приложение?

Ответы [ 2 ]

0 голосов
/ 10 ноября 2018

Очевидно, вы можете использовать Msys2 для связывания приложения PyGObject в Windows с PyInstaller.
У этого человека есть SDK, который вы можете настроить для сборки в песочнице.

https://github.com/exaile/python-gtk3-gst-sdk/tree/master/win_installer

Я сам этим не пользовался, но один из сопровождающих PyInstaller рекомендует.

0 голосов
/ 22 октября 2018

Если я вас правильно понимаю, у вас уже есть работающее решение, чтобы заморозить ваше приложение с помощью cx_Freeze, и ваш фактический вопрос:

Как создать переносимый исполняемый файл, который объединяет все зависимости сcx_Freeze?

cx_Freeze сама по себе не поддерживает создание одного файла exe, где все библиотеки для вашего приложения встроены в один исполняемый файл, но у вас есть несколько вариантов создания одного файла установщик , позволяющий сделать приложение доступным в Windows:

  1. Вы можете использовать инструменты для сжатия каталога сборки из cx_Freeze в самораспаковывающийся архив, см. соответствующий FAQ в документации по cx_Freeze .

  2. Вы можете cx_Freeze создать простой установщик, содержащий все файлы, которые cx_Freeze включает в себя для вашего приложения, запустив скрипт установки как:

    python build.py bdist_msi
    

    См. соответствующий раздел документации cx_Freeze .

  3. . Чтобы сделать более настраиваемый установщик, вы можете использовать инструменты на основе сценариев, такие как NSIS (Nullsoft Scriptable Install System) и запустите сценарий создания установщика после сценария установки cx_Freeze.

...