python脚本如果在没有安装python的机器上不能运行,所以将脚本打包成exe文件将可跨平台使用,那么怎么打包了,python提供了专门的模块:pyinstaller,下面就介绍下怎么用
1、安装pyinstaller运行时所需要的windows拓展pywin32
2、安装pyinstaller
pip install pyinstaller (会自动下载future,pywin32,pyinstaller)
如果不行可在官网下载pyinstaller(http://www.pyinstaller.org/)
验证是否成功:pyinstaller -v
3、pyinstaller指令
参数 | 含义 |
-F | 只生成一个exe文件 |
–distpath | 指定生成的exe存放的目录 |
–workpath | 指定编译中临时文件存放的目录 |
-D | 创建一个目录包含:exe文件、依赖文件 |
-i | 指定exe图标(图标只对非控制台应用有效) |
-p | 指定exe依赖的包、模块 |
-d | 编译为debug模式,获取运行中的日志信息 |
-clean | 清理编译时临时文件 |
-c | 使用控制台 |
-w | 使用窗口 |
-version-file | 添加exe版本信息 |
4、实例
pyinstaller -F .py全路径 –distpath exe存放目录
执行结果:
目录中生成的exe:
补充:
1、程序设置自定义图标
pyinstaller -F -i ico_path py_path –distpath exe存放目录
首先需要下载一张正常的ico,不能用直接修改后缀的。下载图片: https://www.easyicon.net
输入命令 pyinstaller -F -i "panda.ico" "demo.py"
执行结果:
将E:\work_hot\temp\docx目录中的可执行文件demo.exe,移动到可可执行程序的位置,才可以显示图片,例如我移动到桌面,看看是不是很萌
2、关闭窗口程序
通过上面生成的exe在运行是总是有命令窗口,怎么取消了,简单,在命令中添加参数-w
pyinstaller -F -w -i ico_path py_path
这样脚本不会弹出命令窗,前提是用了GUI库.
注意哦,如果不指定exe生成存放的位置,在命令运行后,会提示文件存到那里,自行去拷贝就可以了
3、导入模块问题(这个我用到的不多)
pyinstaller -F -w -i --hidden-import queue ico_path py_path