Pyinstaller 打包PyQt5程序为EXE文件遇到的大坑及解决方案,泣血整理
本人刚刚接触PyQt5,靠着一点Python编程经验和VB界面编写经验,加上网上各位高人提供的经验,方法,一步步编写出了一个网络设备的管理界面。但是在用Pyinstaller制作成EXE文件时,遇到了大坑,搞了两天半才搞出来,真的是头大了,不过幸好有网上各位业内人士无私的分享,才帮助我跳出这个大坑。今特地将经验整理如下:
1.failed to execute scripts xxxx
在网上查了查如何使用pyinstaller后,照猫画虎的写了调命令,其中几个关键点就是 :
1. --path C:\xxxxx\ Lib\site-packages\PyQt5\Qt\bin
命令中一定要加上这条,PyQt5\Qt\bin 是pyqt5的链接库文件,不包括这个文件是
无法打包成EXE的,但是我竟然在安装时,放在了其他文件夹里面,而不是在
Python的安装目录下, 所以如果你也是安装错位置的话,就要搜索此文件夹了
2. 参考https://www.jianshu.com/p/bf07565f0090,添加需要的其他程序模块,我编写
的程序,需要调用一些子模块,所以,要将子模块所在的路径加上,
pyinstaller -Fw -p F:\python35-32\Lib\site-packages;F:\python35-32\Lib\site-pack
ages\matplotlib;F:\python35-32\Lib\site-packages\matplotlib\backends
E:\0E207\soft\Cell_Similarity\CellSim.pyw
3. 最头疼的到了,打包命令完成后,在dist文件夹生成了exe文件,满心欢喜的双击打开,但是弹出的确实failded to execute,尝试修改了几十次都这样,你说崩溃不崩溃,总是如下的报错:
missing module named resource - imported by posix (top-level), C:\Users\Brad\PycharmProjects\untitled1\venv\Table_test1.py (top-level)
missing module named posix - imported by os (conditional, optional), C:\Users\Brad\PycharmProjects\untitled1\venv\Table_test1.py (top-level)
missing m