如何创建Python GTK3应用的发行版?

时间:2019-04-09 06:35:44

标签: windows gtk3 python-3.7 mingw-w64 software-distribution

我在Windows上使用GTK3(GTK的Mingw_x64安装)制作了一个应用程序,但我真的无法弄清楚如何从中进行分发。根据PyGObject的官方文档,可以通过某种方式实现。

我已经尝试过使用setuptools制作软件包,但是PyGObject文档并未对此过程进行过多说明,并且我无法正确配置安装程序以使其正常工作。 PyGObject有很多依赖项和奇怪的输入,我不知道该如何包含。

我还尝试了Pyinstaller,它声称它具有GTK支持,并且确实可以将其打包为可执行文件,但是它无法正常工作。我尝试了以下两个选项:

  1. 仅制作一个文件(.exe),但是在这种情况下,它会引发错误,即找不到某些文件(libpixbufloader-ani.dll)

  2. 创建一个包含所有所需文件的目录(这次包括libpixbufloader-ani.dll和其他lib),但是在运行exe时,又发生了另一例错误,这一次Struct和其他2个库丢失了(奇怪的是,那里是包含Struct的文件夹)

由于缺少文件,我尝试向Pyinstaller添加尽可能多的包含所需库的路径,但没有成功。

有人在用Python打包GTK应用程序方面有任何经验吗?绝对有办法做到这一点,但是我对包装不是很有经验。如果需要,我可以提供更多信息。

1 个答案:

答案 0 :(得分:0)

这是PyInstaller's GitHub page上出现的一个问题,其他人(包括我自己)也遇到过您提到的相同问题。

上次尝试使用PyInstaller的开发版时,该问题仍未得到解决,但是我设法通过使用PyInstaller找到了我的Python3 / GTK3应用程序所需的依赖项来获得了一个可运行的可执行文件,然后我使用了cx_Freeze生成最终的可执行文件。