Python 打包可执行文件

发布时间:2019-09-11 07:46:09编辑:auto阅读(1918)

       Python程序需要依赖本机安装的Python库,若想在没有安装Python的机器上运行,则需要打包分发,目前有两个比较好用的工具:PyInstaller和py2exe。其中py2exe应用在windows下,而PyInstall则可应用windows、Linux以及Mac OS X上。

       这里只贴一段py2exe打包的实例代码。(py2exe下载地址)

    #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": "main.py", "icon_resources": [(1, "Q.ico")] }]#源文件,程序图标
    )

    假如上面的源码保存为mysetup.py,则打包命令为 python mysetup.py py2exe

    附:使用Enigma Virtual Box让Py2exe打包出的单文件更完美


    两个用过的实例:

    (1)、后台运行

    #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文件
        windows=[{"script": "main.py" }]#源文件
    )

    (2)、不得不有控制台窗口,且不能打包为一个exe文件。(walker是因为调用了浏览器)

    #coding=utf-8
    from distutils.core import setup
    import py2exe
    setup(
        console = [{'script': "main.py"}],
        options={
                "py2exe":{
                        "skip_archive": True,
                        "unbuffered": True,
                        "optimize": 2
                }
        }
    )


    相关阅读:使用PyInstalle把Python脚本打包成exe


    *** walker ***


关键字