我为我的办公室编写了Python 2.7的程序。 使用PyInstaller和–onefile标志,我已经编译成一个EXE文件分发给我的同事。 我现在想弄清楚的是如何自动提供更新,但仍然保持程序作为一个单一的文件。
我目前的方法是让程序提醒用户一个新的版本,并给出指令在哪里获得更新的文件。 这工作,但我想find一些更新的方法,而无需用户的参与。
我知道Esky ,它可以创build自动更新的Python程序,但据我所知,它需要程序作为多个文件存在。
任何build议我如何做一个独立的,单个文件的EXE python程序,可以自动更新?
__file__
来了解可执行文件的当前位置 使用sys.execcv或subprocess替代当前正在运行的过程与一个小的脚本的东西
"sleep(1) & copy {tempfile} {filename}".format(tmp_file,__file__)
(简单的批处理命令,用新的exe文件覆盖旧的exe文件)
当您的应用程序已经提醒用户一个新版本,用户说他们想要它,下载新的exe,启动新的exe,并关闭当前的exe。 新的exe应该删除它看到的任何旧的exes。 不同的版本需要命名不同。