Python代码打包成exe可执行程序的方法汇总

1. py2exe

使用步骤

  1. 下载安装
  2. 新建一个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")] }]#源文件,程序图标
 )
  1. 在当前目录下输入以下命令即可 python setup.py py2exe

不能跨系统版本使用,打包的文件也需要打包同exe下的dll,和一些库的压缩包,不然exe根本跑不起来。总之,使用体验并不是很好。

2. pyinstaller

使用步骤

  1. 安装
pip install pyinstaller
  1. 在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

使用步骤

  1. 安装,在cmd中输入命令行参数
    pip install cx-freeze
  2. 然后在cmd中,切换到Scripts路径下,输入 python cxfreeze-postinstall,会发现Scripts文件夹下又多了.bat文件,此时已经安装成功
  3. 继续在cmd下尝试输入 cxfeeeze -h 验证下,显示成功。
  4. 在cmd中输入命令行参数 cxfreeze g:\(要封装的程序).py --taget-dir g:\(输出路径) 进行封装

在命令行参数后面加上--base-name=Win32GUI可以在运行exe时去掉cmd黑框。

4. nuitka

  • Nuitka直接将python转换成C++代码 ,再编译C++代码产生可执行文件,完全不存在反向解析的问题,非常安全,而且由于可执行文件由C++编译而来,运行速度也会获得提升。

  • 当有一些大型的代码写完后,为了防止反编译源代码,我会使用nuitka进行打包,但是他存在一个很明显的缺点,那就是在另一台电脑上无法运行…并且实际编译时需要近20分钟,编译的时候cpu持续100%

posted @ 2023-01-31 16:46  Weisswire  阅读(326)  评论(0编辑  收藏  举报