伝説 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写的么?没有吧。

    评论

报告相同问题?

悬赏问题

  • ¥100 有人会搭建GPT-J-6B框架吗?有偿
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名