gpt4 book ai didi

python - 如何安全地检查 python 包是否已过时?

转载 作者:太空狗 更新时间:2023-10-30 00:35:55 29 4
gpt4 key购买 nike

我想在 python 包中包含某种 self 更新机制,我不想在脚本运行之前调用 pip 更新,因为它非常慢,我正在寻找一种智能机制。

每次使用它时,它都可以进行 HTTP 调用,可能是对 PyPi 的调用,如果它检测到新版本,它会在 STDERR 上输出警告。

显然,作为这个过程的一部分,我还想缓存上次调用的结果,这样库就不会一天检查更新超过一次,比方说。

有没有人已经实现了类似的东西?您是否有一个示例可用于在不同执行之间缓存来自 HTTP 调用的结果,这样它就不会造成明显的延迟?

最佳答案

要显示过时的包,您可以简单地运行 pip list -o,但这本身不涉及任何缓存。

尽管简单地将 pip list -o > outdated.txt 添加到 cronjob 使其每天自动更新是微不足道的:)

下面是一些将 pip 用作库的示例代码:

def get_outdated():
import pip

list_command = pip.commands.list.ListCommand()
options, args = list_command.parse_args([])
packages = pip.utils.get_installed_distributions()

return list_command.get_outdated(packages, options)

print(get_outdated())

关于python - 如何安全地检查 python 包是否已过时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26907706/

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