伝説 2018-06-17 15:25 采纳率: 0%
浏览 2031
已结题

pyinstaller或cx_freeze打包pyqt5程序的问题

环境:
python3.4.4
pyqt5
qt5.5.1
win10 x64

python写的pyqt5程序需要转换成exe,用cxfreeze打包可以正常运行,但是输出文件太大,就一个小的GUI程序就超过200m了,google也有一些说法总之就是很难办。
用pyinstaller打包以后程序体积比较小只有30来兆,但是又无法运行,点击exe提示fail to execute script ……也没提示更多信息,我查google说是要加入pyqt5的路径,但是我电脑PyQt5的文件夹没有网上说的qt\bin这个路径,我就直接加的“C:\Python34\Lib\site-packages\PyQt5”这个路径,打包出来能看到pyqt5的一些组件,但是exe还是无法运行。

……总之cxfreeze体积太大,pyinstaller无法运行,不知道咋办了……

感觉python作为一个比较成熟的东西,为什么在打包exe这么基础的功能上反而不成熟。

  • 写回答

2条回答

  • threenewbee 2018-06-17 15:52
    关注

    因为python程序的依赖项太多,这些都需要打包进去才能让你的程序在目标电脑上运行(所谓平台无关的代价)
    而C#、delphi假定在特定的windows上运行,并且基本的运行时不需要打包到exe,所以就很小巧了。你见过商业软件GUI用python写的么?没有吧。

    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器