无法删除 esky 0.9.8 中的旧版本:Python

Posted

技术标签:

【中文标题】无法删除 esky 0.9.8 中的旧版本:Python【英文标题】:Can't delete old versions in esky 0.9.8 : Python 【发布时间】:2015-04-27 14:17:06 【问题描述】:

我使用 esky 0.9.8 : Python。 我经常使用 esky 将我的可执行文件更新到新版本。 除了 esky 不会删除旧版本的可执行文件之外,这一切都很好。 这是我使用的代码:

if getattr(sys,"frozen",False):
app = esky.Esky(sys.executable,"https://example-app.com/downloads/")
print "You are running: %s" % app.active_version
try:
    if(app.find_update() != None):
        app.auto_update()
        appexe = esky.util.appexe_from_executable(sys.executable)
        os.execv(appexe,[appexe] + sys.argv[1:])
except Exception, e:
    print "ERROR UPDATING APP:", e
app.cleanup()

除了最后一行“app cleanup()”之外,这里的所有内容都运行良好,因为它不会删除旧版本。 在我的可执行文件文件夹中,我有以下内容:

App.exe App.old.exe App.old.old.exe

等等。

为什么 esky 不删除旧版本的可执行文件?

【问题讨论】:

它只是将旧的可执行文件重命名为 app.old.exe 并将新的可执行文件下载到 app.exe 【参考方案1】:

我相信我通过调用解决了这个问题

app.cleanup()
app.reinitialize()

如果可行,请告诉我,

你不应该但也有这种方法

app.uninstall_version(v)

【讨论】:

app.reinitialize() 是做什么的?我不太明白它在文档中的作用 我不确定它到底是做什么的,它解决了问题吗? 检查这个问题需要一些时间,因为它不会发生在每台电脑上。你能帮我写另一个帖子吗?它有点相似,但并不完全相同。这篇文章是关于清理的,另一篇是关于卸载的。 我假设您正在尝试使用 uninstall_version(),因为 cleanup() 失败,如果所有后续操作都可以让其他人轻松找到相同问题的相关答案在同一个地方。至于uninstall_version引发权限错误,请尝试以管理员身份运行该程序,如果它运行,则意味着esky无法获得管理员访问权限。不幸的是,这是 esky 中的一个错误,请参阅此处***.com/questions/12153285/…,如果您想帮助解决问题,请随时:)

以上是关于无法删除 esky 0.9.8 中的旧版本:Python的主要内容,如果未能解决你的问题,请参考以下文章

Esky,没有找到冻结的版本

将 GitHub 版本与 Esky 一起使用

sql 删除Umbraco中的旧版本

sql 删除Umbraco中的旧版本

如何使用 py2exe 和 esky 冻结 Celery?

each 中的 link-to 未删除 ember 中的旧模板