• python py2exe和pyinstaller打包对比


    pyinstaller 打包文件
    相信很多小伙伴将写的Python代码打包成 .exe文件时使用Python3的Pyinstaller打包工具,下面是pyinstaller的一些参数和命令
    pyinstaller -F 文件.py 生成单个可执行文件
    pyinstaller -w 文件.py 去掉控制台窗口,对于执行文件没有多大的用处,一般用于GUI面板代码文件
    pyinstaller - -icon = 图标路径 表示可执行文件的图标
    pyinstaller -c 使用控制台无窗口
    pyinstaller -D 生成一个文件夹包括依赖文件
    pyinstaller -p 添加Python使用的第三方库
    pyinstaller -K 当包含tcl和tk也就是使用tkinter时加上-K参数
    例如pyinstaller -F - -icon = 图标文件绝对路径 文件.py
    常用的是pyinstaller -F 和pyinstaller -D

    py2exe打包文件
    py2exe将Python文件打包成.exe文件,py2exe有一定的限制性用在python2版本或者python3.4版本一下

    import sys
    reload(sys)
    sys.setdefaultencoding('utf8')#设置Python2编码为utf8编码 原Python2代码为ASCII编码
    具体情况具体修改不能随意而论
    
    # -*- coding:utf8 -*-
    #用此代码打包tkinter代码屡试不爽太酷了
    from distutils.core import setup
    import py2exe
    import sys
    #设置地柜限制次数
    sys.setrecursionlimit(1000000)
    if len(sys.argv) == 1:
    sys.argv.append("py2exe")
    sys.argv.append("-q")
    setup(windows=[r"文件.py"],
    options = { "py2exe":{"dll_excludes":["MSVCP90.dll","libopenblas_v0.2.20_mingwpy.dll"]}}
    )#没有MSVC90.dll这个动态依赖库会打包不成功,而libopenblas_v0.2.20_mingwpy.dll在我的程序里没有加的话也不会成功,从网上找了一些资料只需要前边的动态库后边不需要。


    经过时间可以得出结论:有时候用pyinstaller 打包比较合适,例如就一个可以生成执行的文件,但是发现有时候有黑色闪烁的框,而py2exe不会发生这样的状况,生成的可执行文件并且携带的依赖文件的大小要远比pyinstaller的小。因此,具体情况具体分析,当一种状况不可以的时候,可以去尝试其他的方式来达到相同的目的。例如如图:

    pyinstaller打包包含tkinter文件如图:


    而py2exe打包如图:


    相比来说:py2exe要小很多,因此看自己对这两种打包工具的认识,结合自己的情况,然后对自己写的代码进行打包,到时候会有一定的成就感。谢谢采纳。

  • 相关阅读:
    ed新手使用进阶全功略
    directx的媒体对象
    Makefile详解
    Bourne Shell及shell编程(1)
    Win32CompileMSYSNew
    GNU hello学习笔记(1)——autoconf和automake
    VC++中通过MultiByteToWideChar将string|char*转换为wstring|wchar_t*
    使用 Bash shell 脚本进行功能测试[转]
    添加VLC模块
    libvlc外部api的简单整理
  • 原文地址:https://www.cnblogs.com/lvdongjie/p/15438528.html
Copyright © 2020-2023  润新知