V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
tmsdy0404
V2EX  ›  问与答

Python 打包的程序,如何解决自动更新的问题

  •  
  •   tmsdy0404 · Aug 27, 2023 · 1639 views
    This topic created in 985 days ago, the information mentioned may be changed or developed.
    用 wxpython 做的 GUI ,cx_freezen 打包的程序,新版本程序压缩为 7z 放在服务器,本地程序检测到有新版本,下载 7z 后就没法正常解压(因为解压的功能也依赖于打包出来的这个环境,没法覆盖这个环境,并且 update.exe 也没法解压压缩包里面的 update.exe )

    现在能想到的办法有两个
    1 ,复制一份环境到%temp%,然后由临时目录的程序来解压
    2 ,用别的语言(如 c#)做更新功能的程序。

    感觉两种方法都不美,有没有更完美的方案??
    3 replies    2023-08-28 00:15:07 +08:00
    Ct5T66PVR1bW7b2z
        1
    Ct5T66PVR1bW7b2z  
       Aug 27, 2023
    直接让客户去网盘下载更新包
    PhaSelEza
        2
    PhaSelEza  
       Aug 27, 2023   ❤️ 1
    下载程序并解压到临时目录,生成一个临时 bat 文件并运行,完成程序更新、运行新版本、删除老版本。

    之前写过个简单的模板:

    move "{PATH}" "{PATH}.old"
    "{P7ZIP}" x "-o{DIR}" "{ARC}"
    start "" "{PATH}"
    :repeat
    del "{PATH}.old"
    if exist "{PATH}.old" goto repeat
    exit
    tmsdy0404
        3
    tmsdy0404  
    OP
       Aug 28, 2023
    @PhaSelEza 感谢,用批处理的方案处理了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5441 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 07:08 · PVG 15:08 · LAX 00:08 · JFK 03:08
    ♥ Do have faith in what you're doing.