Python代码打包成exe可执行程序的方法汇总
1. py2exe
使用步骤
- 下载安装
- 新建一个setup.py,内容如下:
#coding=utf-8
from distutils.core import setup
import py2exe
includes = ["encodings", "encodings.*"]
#要包含的其它库文件
options = {"py2exe":
{
"compressed": 1, #压缩
"optimize": 2,
"ascii": 1,
"includes": includes,
"bundle_files": 1 #所有文件打包成一个exe文件
}
}
setup (
options = options,
zipfile=None, #不生成library.zip文件
console=[{"script": "(要被封装的程序).py", "icon_resources": [(1, "Q.ico")] }]#源文件,程序图标
)
- 在当前目录下输入以下命令即可
python setup.py py2exe
不能跨系统版本使用,打包的文件也需要打包同exe下的dll,和一些库的压缩包,不然exe根本跑不起来。总之,使用体验并不是很好。
2. pyinstaller
使用步骤
- 安装
pip install pyinstaller
- 在cmd中,输入命令行参数
pyinstaller -D -p F:\Python27\Lib -i logo.ico (要封装的代码).py
-D:打包成多个文件
-p:指定python安装包路径
-i:指定图标,到网上下载一个图标,保存为logi.ico文件,
mian.py:要打包的文件
注意main.py与logo.ico必须放在同一个目录下
-D与-F一一对应,-F是打包成一个单独的文件。
最后一排加上--noconsole,就是无窗口运行。
常用的就是
pyinstaller -F (要封装的代码).py
3. cx_Freeze
使用步骤
- 安装,在cmd中输入命令行参数
pip install cx-freeze
- 然后在cmd中,切换到Scripts路径下,输入
python cxfreeze-postinstall
,会发现Scripts文件夹下又多了.bat文件,此时已经安装成功 - 继续在cmd下尝试输入
cxfeeeze -h
验证下,显示成功。 - 在cmd中输入命令行参数
cxfreeze g:\(要封装的程序).py --taget-dir g:\(输出路径)
进行封装
在命令行参数后面加上--base-name=Win32GUI可以在运行exe时去掉cmd黑框。
4. nuitka
-
Nuitka直接将python转换成C++代码 ,再编译C++代码产生可执行文件,完全不存在反向解析的问题,非常安全,而且由于可执行文件由C++编译而来,运行速度也会获得提升。
-
当有一些大型的代码写完后,为了防止反编译源代码,我会使用nuitka进行打包,但是他存在一个很明显的缺点,那就是在另一台电脑上无法运行…并且实际编译时需要近20分钟,编译的时候cpu持续100%