总所周知,python因库多,语法优雅,深受开发者的喜爱。

于我来说,写一些小型程序,在不需要考虑太多问题的时候,python无疑是我的第一选择。而有的时候,虽然是小型程序,但我还是需要他们通用,即使不考虑使他跨平台,但最起码要可以跨电脑吧,不然我去到别的电脑还需要安装python运行环境,在那里运行完后,还得帮别人删除,岂不是太过麻烦,所以,无论是给别人使用,还是自己需要在无python环境的电脑中使用,我们有时需要把python的脚本程序打包成exe。

目前python常用打包工具目前有:

py2exe 下载地址
cxfreeze 下载地址
PyInstaller 下载地址

目前这三款工具只有cxfreeze支持python3的打包,很无奈吧,我也是……

好吧,不说废话了,下面分享一下我自己使用cxfreeze的经验,希望帮助到有需要的朋友。

安装好cxfreeze后,你会发现在python/Script目录下只有cxfreeze,cxfreeze-postinstall,cxfreeze-quickstart,三个文件,无法直接使用。

这时需要你进入命令行到当前目录,输入:

python cxfreeze

用python对cxfreeze进行编译,编译成功后生成cxfreeze.bat文件

随后重启命令行,输入cxfreeze,看看是否提示cxfreeze不是内部程序或命令,如果弹出正常cxfreeze命令的提示,那么恭喜你,cxfreeze算是配置好了,否则需要配置环境变量。

当一切都配置好后,使用cxfreeze打包相应脚本有两种方法。

  1. 直接利用cxfreeze命令完成

       cxfreeze name.py --target-dir out/      #把name打包成exe,放在out目录下
  2. 利用setup.py完成

      #setup代码
      from cx_Freeze import setup, Executable
      executables = [
      Executable(
      script='Test.py', #目标引用脚本
      base="win32gui",     #GUI程序需要隐藏控制台   
      targetName = 'Test.exe',#生成exe的名字
      icon = "Test.ico" #生成exe的的图标
      )]
    

需要打包的时候,进入到相应的目录,输入:

python setup.py build #打包后的文件放在build目录下

自己踩的坑:生成的程序名字最好用英文名字,中文名字会出现直接乱码报错,如果出现Test2.0这样的名字运行时会提示not find Test2.0.__main__ 而报错


肥肥的兔子
1.4k 声望177 粉丝

python忠实粉丝,贱贱的……