自动更新python脚本

自动更新python脚本,python,pip,distribute,automatic-updates,Python,Pip,Distribute,Automatic Updates,TL;博士,我需要一个模块,它将自动更新我的脚本在后台,无声 我有一个Python脚本,分发给用户。我经常更新这个,然后让他们更新(通过PIP)。显然,对于用户来说,这并不是一个优先考虑的问题,他们只是想使用这个应用程序,而不是考虑更新它 我希望它能自动更新我的应用程序,就像谷歌浏览器一样,在后台自动无声地更新。有没有一个图书馆允许我这么做?如果没有,是否有一种简单的方法可以使用PIP/distribute模块来执行此操作?最简单的方法是设置一个web服务,脚本在运行时会ping该服务。web服

TL;博士,我需要一个模块,它将自动更新我的脚本在后台,无声

我有一个Python脚本,分发给用户。我经常更新这个,然后让他们更新(通过PIP)。显然,对于用户来说,这并不是一个优先考虑的问题,他们只是想使用这个应用程序,而不是考虑更新它


我希望它能自动更新我的应用程序,就像谷歌浏览器一样,在后台自动无声地更新。有没有一个图书馆允许我这么做?如果没有,是否有一种简单的方法可以使用PIP/distribute模块来执行此操作?

最简单的方法是设置一个web服务,脚本在运行时会ping该服务。web服务可以返回一个版本号,脚本可以根据自己的版本号进行检查。如果版本号更高,它可以自我更新并重新运行。

我已经为正在开发的开源应用程序进行了试验。它们为具有自动更新的应用程序提供跨平台安装程序。如果您的应用程序是开源的,则许可是免费的,但商业产品需要购买许可证。如果你的应用程序很小的话,这可能会有点过分,但我想我还是会把它作为一种选择。

如果pip安装已经可以为你工作了,为什么你不能在脚本启动时只执行
os.system(“pip安装-U myscript”)
?这有点脏,但通过pip为非开发人员分发也是如此。

fyi-pip使用sudo/admin privs安装到系统目录中,因此用户可能没有权限更新它是否可以安装在用户的homedir中(例如,在my~/.myCLIapp/下)?在最坏的情况下,我肯定可以安装一个virtualenv?当然,我想到了这一点,并制作了半个原型。但是事情变得有点复杂-如果它不仅仅是一个脚本,如果它有依赖关系,等等,那该怎么办?这就是为什么我认为它可能应该使用PIP。我曾经成功地将这种技术用于简单的脚本,Wilduck。Paul是正确的,它确实存在依赖性问题。