使用Python-Yum-API和--downloadonly安装RPM软件包

使用Python-Yum-API和--downloadonly安装RPM软件包,python,yum,Python,Yum,我正在尝试使用Python通过Yum API安装/下载RPM包。但是我不能提供--downloadonly选项,它似乎被安装方法忽略了 以下是我目前的代码: import yum yb = yum.YumBase() args = {"name":"git", "downloadonly": True} yb.install(**args) yb.processDeps() yb.buildTransaction() yb.processTransaction() 这将在系统上安装软件包,但

我正在尝试使用Python通过Yum API安装/下载RPM包。但是我不能提供
--downloadonly
选项,它似乎被
安装方法忽略了

以下是我目前的代码:

import yum

yb = yum.YumBase()
args = {"name":"git", "downloadonly": True}
yb.install(**args)
yb.processDeps()
yb.buildTransaction()
yb.processTransaction()
这将在系统上安装软件包,但不支持
仅下载
选项

告诉Yum仅通过Python-Yum-API下载软件包的正确方法是什么?

这就是您需要的:

import yum

yb = yum.YumBase()
yb.conf.downloadonly = True
args = {'name':'git'}
yb.install(**args)
yb.buildTransaction()
yb.processTransaction()
执行此python脚本后,您可以在中找到下载的包

/var/cache/yum/x86_64/7/base/packages/

根据发行版的不同,上面的路径可能会有所不同。

这确实很有趣。您可以通过查看文档了解这些选项。您还可以查看python代码:
/usr/lib/python2.7/site packages/yum/\uuuu init\uuuuu.py
如果要指定下载目录,请设置
yb.conf.downloaddir='/your/directory'
,并且yum会将文件放在那里。似乎YumBase.conf使用命令行选项作为命名约定。