关于使用Pyinstaller打包PyQt5项目的一些隐蔽问题
博主最近才开始接触PyQt5,在实现某个桌面程序时遇到的许多问题时至今日才彻底解决,感慨良多。不过总结一点就是网上的博客真的垃圾,感觉相互抄。还有可能是我的问题是比较特别,希望本篇博客能够帮助遇到跟我一样问题的人。首先说明博主项目中的Python版本为2.7的64位,PyQt5也是64位(貌似只有64位的),两个版本一定要都是64位。接下来慢慢介绍问题和解决办法。
提示Failed to excute the scripts xxx
我们需要的打包工具Pyinstaller可以在命令行中安装,进入到python的安装目录含有pip.exe的那一级目录下使用命令:
pyinstaller :pip install pyinstaller -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com 或者
python -m pip install pyinstaller 。 打包的命令行格式不多赘述。
进入正题,出现子标题的错误原因是因为exe所在的运行目录下没有包含sip.pyd这个文件,所以在显示出排错信息是会提示找不到sip的模块。虽然QtCore的包中也会包含sip,但是我也不知道为什么还是会提示找不到。因此只需要在安装好的PyQt5目录下找到sip.pyd,复制到exe的运行目录下,