目前在打包pyqt写的一个软件,用pyinstaller打包的。下面介绍一下我的打包过程和打包过程中遇到的错误
一.打包过程
1.用pyinstaller打包软件,打包命令(pyinstaller -D autoLabel.py)
2.导入软件需要的库(sklearn);打包的sklearn不完整,会出错;所以从python的库中复制过去
3.加入需要的dll和dll需要的库(eco.dll;classification;lasso.dll;用depency查询它们的依赖库)win7多加一个msvcp90.dll
4.导入软件需要的模型(custom_model)
5.将data文件复制到目录下面
中间有很多细节的部分都省略了,都是网上可以查到的
二.错误总结:
1. 无法导入sklearn的一些内容;这是因为pyinstaller打包的sklearn不完整,可以去python的库中复制该库
2.没有将自己打包的dll放在合适的位置(eco.dll;classification.dll;lasso.dll)
3.没有将放入需要的模型
4.没有导入eco.dll;classification需要的环境(用Depency查找)
打包dll时所需要的环境,你在其他电脑上也要安装同样的环境。(如打包dll用的vs2013的环境,同样其他电脑上也要安装vs2013的runtime库)
5.内部闪退;需要用print一行一行查,具体是那一行造成的。目前我遇见的是import的库缺少
三.总结
这部分是针对软件autoLabel_ASIC_v0.1打包使用的,借鉴时不一定合用。