在python中比较常用的python转exe方法有三种,分别是cx_freeze,py2exe,PyInstaller。
py2exe恐怕是三者里面知名度最高的一个,但是同时相对来说它的打包质量恐怕也是最差的一个
。pyinstaller打包很好,但是操作工序较为复杂。
将py脚本打包成exe可执行档,有多种好处:最大的一个好处是环境无关性,打包后的exe档可以在未安装python的电脑上运行。
cx_freeze不错,但是好久不更新了,本次所用的是4.3 32bit。
1、py2exe
**
2、pyinstaller
要打包py脚本至exe档,必须先安装pyinstaller
pip install pyinstaller
下面将简介打包的以下几种可实现的功能。
1. 打包成exe档.
2. 打包成带自定义应用图标的exe档.
3. 打包成不带命令行的exe档(带GUI的应用)
1) 打包成exe档
这个很简单,可以找包只有命令行的py, 也可以打包带GUI界面的py.生成的应用图标为默认的图标.
命令为:
pyinstaller -F Happy_moment_thinter.py
打包运行后,生成的exe保存在dist下. 其它两个build和pycache文件夹可以del掉.
- 打包成带自定义应用图标的exe档, 只是从了-i而已,用定指定应用图标,注:图标格式只能是.ico格式.
网上有很多生成ico的方法,这里提供一个给大家参考:
http://www.faviconico.org/
也可以用专业的制作工具(有30天的试用期)
https://www.axialis.com/
命令为:
生成的图标如下:pyinstaller -F Happy_moment_tkinter.py -i qsbk.ico
3. 打包成不带命令行的exe档(带GUI的应用)
这个要求当前的py运行时是带GUI界面的,网上也有很多人问,说明明打包了,为了每次运行时除了应用主GUI界面外,为何还会显示一个命令行界面呢?
命令为:pyinstaller -F Happy_moment_tkinter.py -i qsbk.ico --noconsole(注意,noconsole前是双杠线)
生成的图标跟上面是一样的,只是不带控制台命令行而已。3、cx_freeze
首先:cx_freeze下载地址:http://sourceforge.net/projects/cx-freeze/files/
接着,介绍一下cx_freeze的使用方法。
第一步:检查cx_freeze是否安装正确。
运行cmd,切换到cxfreeze.bat所在目录,然后执行 “cxfreeze -h” 看看能否出效果
如果显示帮助信息则表示安装成功;
如果出现以下信息,可能路径不对。
修改路径的办法
打开你的python安装文件夹,例如我的python安装文件夹在G盘,那么用记事本打开G:\python\Scripts\cxfreeze.bat
获取直接使用Pycharm 引用cx_freeze 即可
第二步:如果安装正确,那么接下来的事情就非常简单了
正式开始打包,命令为:cxfreeze hello.py —target-dir dist
命令解释:hello.py 是你要打包的主文件、启动文件
Dist为要目标文件夹,打包后会生成dist目录,里面就有打包后的可执行文件。
注意:
只能指定一个要打包的模块,也就是启动模块
所有.py文件都不能有中文字符,否则会出现编码异常。
发布后,可执行文件执行路径不能有中文(最好也不要有空格)。
启动执行的文件中不要有下面这种判断,否则可执行文件执行会没有任何效果。
if name == “main“:
main()