由于Python3 不支持 py2exe
,所以导致你没办法让你写的Python程序发给没有安装Python环境的人使用。最近看到cx_freeze可以打包Python3程序,所以研究一下,记录下文:
1. CMD 界面下easy_install 安装 cx_freeze文件 (easy_install
cx_Freeze)
2.新建一个setup.py文件,代码内容如下:
import sysfrom
cx_Freeze import setup,
Executablebase
= Noneif
sys.platform
== "win32":
base = "Win32GUI"setup(
name = "日志分析工具",
version = "0.5",description = "日志分析工具",executables =[Executable
("Diskless_log.py",
base = base,icon="diskless_48.ico")]
)
将setup.py文件拷贝到你的代码目录下
3.在CMD下一路cd到你的代码目录,运行python setup.py build 进行打包
4.打包完成后会在代码目录下生成一个bulid文件夹、打包好之后的依赖文件都会在里面,在里面可以直接运行你的EXE文件了。
但是由于cx_Freeze打包的程序不是生成单一文件,所以bulid目录下会有很多的依赖文件存在,我们希望的是一个单一的EXE文件就可以运行程序。
所以下面我们要用到WinRAR工具来做自解压程序,以下是网上找到的方法:
1.选中所有文件添加到压缩文件
2.选择创建自解压格式压缩文件
3.切换高级-自解压选项
4.在模式设置里面设置解压到临时文件夹和安全模式
5.在更新里面设置更新方式和覆盖方式为直接覆盖
6.在常规选项里面设置解压后运行程序为你的程序名称
7.在文本和图标选项里面设置好EXE图标
保存好之后开始打包,完成之后你就可以直接把这个EXE程序发送到其它没有安装python环境的机器中运行了,直接运行EXE就自动解压临时文件夹并自动启动EXE。
PS:如果你需要在桌面生成快捷方式的话,WinRAR的自解压里面也是可以设置的,很简单。