python3写的exe小工具的准备事项
1.环境
windows7、python3
2.编辑器
pycharm
3.python3环境下安装
pip3、PyQt5、pyinstaller
pip3 install PyQt5,也可以先下载下来PyQt5.whl,用pip3 install xxx.whl
pip3 install pyinstaller(此用来将做好的工具打包成exe)
4.使用pycharm开发工具
4.1先设置此开发所需要python环境,如果你电脑上有python2和python3两种,需要选择合适的语言开发版本
小工具开发过程中可以 run app.py 也可以debug app.py
等功能完成后,用pyinstaller3 -F -w app.py打包成exe,一般这个exe会出现在dist文件夹里。
pyinstaller -F --add-binary '/usr/lib64/libffi.so.7:.' -w -c xxx.py
一般打包pyqt5需要UPX打包,虚拟环境中没有,需要去网上下载UPX的exe文件,存放在Scripts下
https://github.com/upx/upx/releases
pyinstaller打包成exe后运行DLL load failed while importing QtWidgets: 找不到指定的模块
直接python运行可以成功,一打包就报错,解决方案:Pyinstaller降级到5.1
常用: -i 给应用程序添加图标 -F 指定打包后只生成一个exe格式的文件 -D –onedir 创建一个目录,包含exe文件,但会依赖很多文件(默认选项) -c –console, –nowindowed 使用控制台,无界面(默认) -w –windowed, –noconsole 使用窗口,无控制台 -p 添加搜索路径
简单的python脚本 可以使用pyinstaller3 -F -D app.py打包成exe,其中-D这样打包的是一个目录,比较繁琐
复杂的脚本(一定要用-c) 可以使用pyinstaller -F -w -c app.py打包成exe,就是单独的exe脚本
若需要引用静态文件,比如js,那么要么在代码里js那块加上绝对路径,要么一定要把js文件放在exe同级目录,否则运行不成功
打包多个py
1.在控制台先执行pyi-makespec main.py 产生main.spec
2.
3. pyinstaller -F -w main.spec