在Msys2上使用pygobject安装Pyinstaller

3
我一直在使用Python PyGObject在Linux上构建应用程序,现在需要在Windows上分发它。我首先按照官方PyGObject文档的建议,通过MSYS2安装了PyGObject。现在,我可以在MSYS2/mingw32中输入命令来运行我的程序。
python3 main.py

但是,当我尝试使用Pyinstaller将其冻结为.exe文件并尝试运行生成的.exe文件时,
  • 如果我不使用--onefile,我会在_struct模块上获得导入错误(而“import _struct”在python shell中可以工作)

  • 如果我使用--onefile,则会出现以下错误:

错误:

 lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-ani.dll could not be extracted!
 fopen: No such file or directory  

我正在使用Pyinstaller的开发版。对于Windows操作系统我了解甚少...有没有人知道如何修复这个错误?


顺便说一句,我也尝试使用cx_freeze,但没有成功... - Nephanth
1个回答

2

看起来你已经走在了正确的道路上,但不幸的是你遇到了PyInstaller的一个bug。好消息是,No module named '_struct'错误已经在3.6版本及以上版本中被修复并发布。我建议使用PyInstaller的--onedir模式,这样你应该能够成功地将GTK应用程序打包成Windows可执行文件。


很不幸,我已经无法访问那个代码库了,所以我无法测试你的答案,但还是谢谢你的回答! - Nephanth

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接