目录
一、简介
将python打包成可执行程序有好多办法,如pyinstaller、py2exe、cx_Freeze等等,这里主要介绍Pyinstaller的使用,pyinstaller可以在Windows、Linux、Mac OS X 等操作系统下将 Python 源文件打包成可执行程序,打包好的程序可以在没有安装python的环境中运行。
二、基本使用
pyinstaller官网:https://pypi.org/project/PyInstaller/
1.下载pyinstaller
如果使用的pycharm,则在Preferences | Project: ExcelToDb | Project Interpreter中搜索pyinstaller即可
如果使用命令行
pip install pyinstaller 或 pip3 install pyinstaller
2.pyinstaller打包方法
PyInstaller提供了两种把.py文件包成.exe文件的方式:
第一种:把由.py文件打包而成的.exe文件及相关文件放在一个目录中。
语法:pyinstaller 应用程序
eg:pyinstaller Hello.py
第二种:加上 -F 参数后把制作出的.exe打包成一个独立的.exe格式的可执行文件。
语法:pyinstaller -F 应用程序
eg:pyinstaller -F Hello.py
3.pyinstaller注意事项
- 虽然扩平台,但是pyinstaller也只能在当前操作系统中运行,比如你用mac只能打包出mac上的可执行脚本,要是你想打包出windwos电脑上的可执行程序,你就要用windows执行打包命令。
- 如果你的脚本文件中包含其他脚本,比如hello.py包含自定义脚本(world.py)或是系统脚本(sys.py):则需要在打包的时候加上其他脚本的路径。
通过-p指定第三方包的路径,一条路径对应一个-p
eg:pyinstaller -F -p C:\SystemLib\site-packages -p C:\MyLib Hello.py
- 执行一次打包命令通常会生成两个目录一个附件,分别是build、dist、和xx.spec。build是编译过程中的中间产物,dist是最终可执行程序目录,spec文件是类似缓存,如果你第二次打包,则需要先把spec删掉,否则第二次打包会受影响。
4.pyinstaller参数介绍
常用的主要是-F、-p、-i、-w这几个参数。
- -a:不包含编码.在支持Unicode的python版本上默认包含所有的编码
- -c:使用控制台子系统执行(默认)(只对Windows有效)
- -d:产生debug版本的可执行文件
- -i :指定打包程序使用的图标(icon)文件
- -F:打包成可执行程序
- -h:查看帮助
- -p:添加使用的第三方库路径
- -v: 查看 PyInstaller 版本
- -w:取消控制台显示(默认是显示控制台的)
举一个我在使用过程中的例子:
命令:
pyinstaller -F -p C:\SystemLib\site-packages -p C:\MyLib main.py -i C:\image\excel.ico
解释: 打包 main.py 脚本 main.py包含第三方脚本,一个是系统脚本,一个是自定义脚本 设置可执行程序的图标为excel.ico