• py2exe 和pyinstaller打包


    两种方式:
    一 .py2exe (最好是在win7下面python2下去打包)

    1.安装
    【Python3】 直接pip install py2exe,如果报ssl错误就pip install openpyxl -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
    *据说python 3.3,和python3.4才支持py2exe,没验证过。

    【Python2】: python 2 不能用pip 来安装,会报错,可以下载下来安装
    https://sourceforge.net/projects/py2exe/files/py2exe/0.6.9/ 里面去下对应python 版本得py2exe

    2.setup.py

    需要自己手动写一个脚本如下,我的叫setup.py,和要打包的脚本放一起:
    #setup.py
    from distutils.core import setup
    import py2exe,sys

    sys.argv.append('py2exe')

    datafile = [('目的文件夹',‘文件名’),('目的文件夹',文件名)];例如[('images','images*.jgp')]
    includes = []

    options= {"py2exe":
    { "compressed":1, #压缩
    "optimize":2, #优化,0表示不优化,1表示普通优化,2表示额外优化
    "bundle_files":1,
    "includes": INCLUDES,
    #########bundle_files:#######
    1:打包成一个exe 文件,包含python 解释器
    2:打包成一个exe 文件,不包含python 解释器
    3:默认,不打包
    ###########################
    }
    }
    setup(
    options = options,
    zipfile = None, #不生成library.zip文件
    datafiles=datafile , #包含得数据文件,会copy到dist里面去
    windows=[ {
    'script':"wx_test.py"
    }
    ]
    ) #windows不包含cmd框,console 包含cmd框


    3.Issues:
    *一般在win7上运行没问题,但是在win10上运行的时候会提示很多dll文件找不到,直接加在option里面,例如:
    options = { 
    "py2exe": { 
    "dll_excludes": [
    "name1.dll",
    "name2".dll


    }
    *bundle_file:1,只打包成一个exe文件,在amd64里是不支持的,只能在32位系统里打包,安装的时候也要安装32位的py2exe


    二.pyinstaller

    1.安装
    pip install pywin32 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
    pip install pyinstaller -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

    2.使用
    pyinstaller -F wx_text.py
    -F:生成单个exe文件
    -w 去掉控制台窗口
    -p 自定义需要加载的类路径
    -i 可执行文件的图标


    3.issue
    1.Exception: Python.Runtime not found
    =>pip install pythonnet

  • 相关阅读:
    Flask基础教程
    htmlrunner-unittest生成多样的测试报告
    requestz-基于pycurl封装的requests库
    emailz-使发送邮件更方便
    filez-方便的数据文件加载器
    logz-易用的日志记录器
    基本语言(二)
    基本语言(一)
    编程范式(Programming paradigm)
    deque 双向队列知识点汇总
  • 原文地址:https://www.cnblogs.com/xia-dong/p/11719367.html
Copyright © 2020-2023  润新知