pip install pyinstaller
pyinstaller httpclient.py --noconsole --hidden-import PySide2.QtXml
上面这个就是打包的命令,打包时只需要把 httpclient.py 换成你程序的主入口就可以了。
--noconsole 指定不要命令行窗口,否则我们的程序运行的时候,还会多一个黑窗口。
但是我建议大家可以先去掉这个参数,等确定运行成功后,再加上参数重新制作exe。因为这个黑窗口可以显示出程序的报错,这样我们容易找到问题的线索。
--hidden-import PySide2.QtXml 参数是因为这个 QtXml库是动态导入,PyInstaller没法分析出来,需要我们告诉它,叫它打包的时候,把这个库也打包进去,因为它的导入模式是_import_类型的。
在打包完成后,在该目录下会生成两个文件,bulid和dist。dist就是distribute的缩写。dist是最终发布的目录。
打开.exe执行文件,会出现错误提示,或者发现自己指定的图片不见了。这是因为打包程序只会识别你的第三方库文件,像动态读取的图片、excel、ui界面它并不会打包进去,所以需要将这些不被打包的文件手动拷贝进去。
将.exe文件更换图标(在打包的时候加)
pyinstaller httpclient.py --noconsole --hidden-import PySide2.QtXml --icon="logo.ico"
后面的这个--icon="logo.ico"就是为exe文件添加图标,必须要是.ico后缀的文件才行。
https://www.zamzar.com/convert/png-to-ico/ 这个网站可以将图片转化成.ico模式的文件。或者自己再找也行。