pyinstaller或cx_freeze打包pyqt5程序的问题 5C

环境:
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个回答

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

使用pyinstaller打包的时候,可以加参数-d,然后在cmd里运行,可以看到哪里报错。而且这个问题很多情况是路径问题。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!