gpt4 book ai didi

python - 自动更新Python脚本

转载 作者:行者123 更新时间:2023-11-30 23:08:07 25 4
gpt4 key购买 nike

我为 pyload 编写了 2-3 个插件。有时它们会发生变化,我通过论坛让用户知道有新版本。

为了避免这种情况,我想为我的脚本提供自动 self 更新功能。 https://github.com/Gutz-Pilz/pyLoad-stuff/blob/master/FileBot.py

有那么容易设置吗?

或者有人可以给我指出一个方向吗?

提前致谢!

最佳答案

这是可能的,但有一些注意事项。但它很容易变得非常复杂。在您意识到之前,您的自动更新“功能”将比原始代码更大!

首先,您需要有一个始终包含最新版本的 URL。由于您使用的是 github,因此使用 raw.githubusercontent 可能效果很好。

让您的代码从该 URL 下载最新版本(例如使用 requests),并将该版本与当前代码中的版本进行比较。为此,我建议使用简单的整数版本号,这样您就不需要任何复杂的解析逻辑。

但是,您可能需要考虑每天或每周只运行一次该检查。如果每次运行文件时都这样做,服务器可能会受到重击!因此,现在您必须保存一个文件,其中包含上次完成检查的日期,并读取该文件以查看是否需要再次运行检查。该文件需要保存在您可以在代码可能运行的每个平台上访问的位置。这本身就是一个挑战。

如果它只是一个单独的 python 文件,并且以运行它的用户身份安装,则更新相对容易。但是,如果原始版本以 root 身份安装在全局 Python 目录中,并且您的脚本以非特权用户身份运行,则会很困难。特别是如果它作为插件运行并且无法要求用户提供(临时)根凭据来安装文件。

如果新版本在标准库之外有更多依赖项,您该怎么办?

最后但并非最不重要的一点是,作为系统管理员,我不太喜欢自动更新软件。特别是对于关键的系统基础设施,我希望能够在更新之前估计后果。

关于python - 自动更新Python脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31918875/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com