python脚本在没有安装python的机器上是不能直接运行,须要借助第三方库将脚本打包成exe文件,进而运行python程序。python
本文记录一下Pyinstaller库打包py文件为exe的使用方法。框架
1、安装Pyinstaller库,pip install pyinstaller 这个不废话了。工具
2、简单的py程序,能够命令行进入pyinstaller所在的文件夹(若是没有配置环境变量的话,),直接执行(可是不推荐)。
编码
pyinstaller -F main.py
或者pyinstaller -D main.py
就能够命令行
-F 表示打包为单个exe文件
-D 表示打包为一个文件夹,里面有不少文件debug
3、推荐这样来作code
一、考虑到项目复杂要作不少配置, 咱们先来生成一个打包配置文件blog
执行命令pyi-makespec -F main.py
(也能够pyi-makespec -D main.py
等等), 而后你就会在main.py的同级目录下看到main.spec文件. 这个文件的主要做用就是指定打包的各类配置。
图片
二、查看.spec配置文件。例如,若是在打包过程当中提示Matplotlib出错,而在程序中,未包括使用Matplotlib库,能够在封装的时候不导入这个库,方法是在spec文件中的excludes行加上excludes=['matplotlib']
ip
三、执行pyinstaller xx.spec
命令从新封装一遍。
打包好的程序会放在当前文件夹下一个叫dist的文件夹里面。
4、其余打包的命令(前提是若是没有配置环境变量的话,要先进入pyinstaller所在的文件夹)
pyinstaller -F main.py 打包成单个文件
pyinstaller -D main.py 打包为文件夹
pyinstaller -D -i xxx.ico main.py 定制图标
-i xxx.ico 表示自定义exe图标的样式
附件:pyinstaller相关参数
经常使用的就是-F -D
-F, –onefile 打包一个单个文件,若是你的代码都写在一个.py文件的话,能够用这个,若是是多个.py文件就别用
-D, –onedir 打包多个文件,在dist中生成不少依赖文件,适合以框架形式编写工具代码,我我的比较推荐这样,代码易于维护 -K, –tk 在部署时包含 TCL/TK -a, –ascii 不包含编码.在支持Unicode的python版本上默认包含全部的编码. -d, –debug 产生debug版本的可执行文件 -w,–windowed,–noconsole 使用Windows子系统执行.当程序启动的时候不会打开命令行(只对Windows有效) -c,–nowindowed,–console 使用控制台子系统执行(默认)(只对Windows有效)