我为pyload写了2-3个插件。有时他们会改变,我让用户知道论坛上有一个新版本。
为了避免这种情况,我想给我的脚本一个自动自定义函数。https://github.com/Gutz-Pilz/pyLoad-stuff/blob/master/FileBot.py
像这样的东西很容易安装?
或者有人可以指点我的方向?
提前感谢!
发布于 2015-08-10 14:03:17
这是可能的,但有一些警告。但它很容易变得非常复杂。在您知道之前,您的自动更新“功能”将大于原来的代码!
首先,您需要有一个始终包含最新版本的URL。由于您正在使用github,所以使用raw.githubusercontent可能会做得很好。
让您的代码从该URL下载最新版本(例如使用requests),并将该版本与当前代码中的版本进行比较。为此,我推荐一个简单的整数版本号,这样您就不需要任何复杂的解析逻辑了。
但是,您可能希望只考虑每天运行该检查一次,或者每周运行一次。如果您每次运行文件时都执行此操作,服务器可能会受到锤击!因此,现在您必须保存一个带有上次检查日期的文件,并阅读该文件以查看是否是再次运行检查的时间。需要将该文件保存在您可以在代码可能运行的每个平台上访问的位置。这本身就是一个挑战。
如果它只是一个python文件,它是作为运行它的用户安装的,那么更新是相对容易的。但是,如果原始文件是作为root用户安装在全局Python目录中,并且您的脚本是以非特权用户的身份运行的,那么这将是很困难的。特别是如果它作为插件运行,并且不能要求用户(临时)根凭据来安装该文件。
如果更新的版本在标准库之外有更多的依赖项,您将做什么?
最后但同样重要的是,作为一个系统管理员,我并不真正喜欢自动更新软件。特别是对于关键的系统底层结构,我希望能够在更新之前估计结果。
https://stackoverflow.com/questions/31918875
复制相似问题