pip install python-qt5==0.1.10
pip install PyInstaller==3.6
系统版本window10
创建win-test.py程序
import sys
from PyQt5.Qt import *
class Example(QWidget):
def __init__(self):
super(Example, self).__init__()
self.initUI()
def initUI(self):
self.resize(800, 800)
self.show()
if __name__=="__main__":
app=QApplication(sys.argv)
ex=Example()
sys.exit(app.exec_())
输入命令打包:
pyinstaller -F win_test.py
会在dist目录下生成一个exe文件。进入并使用命令行执行。
使用命令行执行win_test.exe
会报错:提示没有sip
找到安装的pyQT5的路径下的pyd
C:\Users\72666\AppData\Local\Continuum\anaconda3\envs\python27new\Lib\site-packages\PyQt5\sip.pyd
将sip.pyd当做自己的包放入到自己项目中。
import sip #构建的时候需要用到sip,即使代码中用不到,不然会报错 import sys from PyQt5.Qt import * class Example(QWidget): def __init__(self): super(Example, self).__init__() self.initUI() def initUI(self): self.resize(800, 800) self.show() if __name__=="__main__": app=QApplication(sys.argv) ex=Example() sys.exit(app.exec_())
并重新构建。然后重新打包会出现第二个问题。
提示插件不存在,报错:
解决方法:
把PyQt5文件夹里面的libEGL.dll文件和PyQt5里面的plugins里面的platforms文件夹一块拷贝到打包好的exe文件目录里面,和exe在同一个文件夹里面,
结果如下:
最后再次执行exe文件
参考:Python2 PyQt5安装方法 , 使用pyinstaller打包pyqt5,sip包错误解决方法:No module named sip - 灰信网(软件开发博客聚合)