cxfreeze打包python,飞一

发布时间:2019-10-09 10:40:20编辑:auto阅读(29)

    总所周知,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__ 而报错

关键字