zoukankan      html  css  js  c++  java
  • python打包工具 cx_Freeze介绍

    原理

      Python 脚本在装有 Python 的系统中可以直接双击运行,但绝大多数普通用户并没有配置此类环境,而编译为可执行二进制文件后,用户无需预先安装 Python 及依赖库即可像运行普通程序一样运行您的代码。

    有相当数量的 Python 库可以实现此类转换,著名的有 py2exe、py2app、PyInstaller、cx_Freeze 等。因此,cx_Freeze 属于目前可用的最佳方案之一。

    1、下载

    下载链接:https://pypi.org/project/cx_Freeze/5.0.2/#files

    (离线)官网https://pypi.python.org/pypi/cx_Freeze下载相应的whl

    参考自己的python版本下载

    2、安装


    安装成功后还需要进一步配置

    进入到python环境Scripts目录下:

    cmd切换到当前目录,执行python  cxfreeze-postinstall 命令,成功后会出现cxfreeze.bat文件

    运行 cxfreeze -h,出现如下截图安装成功

    3、使用

    3.1比较简单的小程序

    新建一个python程序,例如:hello.py

    在“C:Python33Scripts”目录(也就是cxfreeze命令所在的文件目录)下运行:

     

    cxfreeze D:/hello.py --target-dir E:/demo

    成功执行后在E:/demo目录下可找到hello.exe文件

     

    3.2 生成可安装包文件

    新建setup.py文件,输入以下代码

    import sys
    import os
    from cx_Freeze import setup, Executable
    
    os.environ['TCL_LIBRARY'] = r'D:Python34	cl	cl8.6'
    os.environ['TK_LIBRARY'] = r'D:Python34	cl	k8.6'
    
    # base 实际上默认就是 None,即命令行程序,除非需要构建图形界面程序,否则配置了反而是画蛇添足,这里不配置
    base = None
    # 判断Windows系统
    # if sys.platform == 'win32':
    #     base = 'Win32GUI'
    
    executables = [
        Executable(
            # 工程的 入口
            'app_cpu_mem_test.py',
            # 生成 的文件 名字
            targetName='app_cpu_mem_test.exe',
            # 生成的EXE的图标  #图标, 32*32px
            icon='',
            base=base)
    ]
    
    include_files = [
        r'D:Python34DLLs	cl86t.dll',
        r'D:Python34DLLs	k86t.dll'
    ]
    
    buildOptions = dict(
        # 依赖的包
        packages=[],
        excludes=[],
        # 额外添加的文件
        include_files=include_files,
    )
    
    setup(
        # 产品名称
        name='app_cpu_mem_test',
        # 版本号
        version='1.0',
        # 产品说明
        description='测试',
        options=dict(build_exe=buildOptions),
        executables=executables)
    

      cmd窗口执行 

      python setup.py bdist_msi  

    执行成功之后,将在当前目录下生成build和dist两个文件。

    其中,dist文件夹中包含hello.py程序的安装包文件

    build文件夹下包含main.py程序的可执行文件

     参考文档:https://zhuanlan.zhihu.com/p/27229694

  • 相关阅读:
    数据库性能优化
    AutoDetectChangesEnabled及AddRange解决EF插入的性能问题
    实体框架 5 性能注意事项
    使用JS传递数组型数据回服务器
    Code First配合Entity Framework Power Tools Beta 4使用
    HighChart 体验之旅 (后台传递JSON参数和数据的方法)
    System.Transactions事务超时设置
    ASP.NET站点部署相关
    js 字符串转化成数字
    发布.net 4.0的站点到IIS7.5下时无法访问
  • 原文地址:https://www.cnblogs.com/sgfg-1314/p/10689857.html
Copyright © 2011-2022 走看看