Dpkg Python模块?
我正在尝试做一些包操作(一个ladpkg),虽然我可以只Dpkg Python模块?,python,linux,apt,deb,dpkg,Python,Linux,Apt,Deb,Dpkg,我正在尝试做一些包操作(一个ladpkg),虽然我可以只popen或子流程。call,但如果可能的话,我宁愿用python的方式来做 不幸的是,我一直无法找到一个python模块来完成这个任务 我看到了对pythondeb的引用,但它似乎已经不存在了python-apt似乎是一个潜在的解决方案,但它无法处理单个.deb文件 有谁知道一个好的dpkg python解决方案吗?我对debs的python模块不太熟悉,但我想指出,在*ix上调用子流程并不是坏事,而是在Windows上。Windows似
popen
或子流程。call
,但如果可能的话,我宁愿用python的方式来做
不幸的是,我一直无法找到一个python模块来完成这个任务
我看到了对pythondeb
的引用,但它似乎已经不存在了python-apt
似乎是一个潜在的解决方案,但它无法处理单个.deb
文件
有谁知道一个好的dpkg python解决方案吗?我对debs的python模块不太熟悉,但我想指出,在*ix上调用子流程并不是坏事,而是在Windows上。Windows似乎打算将调用东西作为子进程和解析输出,但*ix通常使其非常可行。显然,Gdebi是基于python的。如果安装了gdebi,您可以通过gdebi模块访问其功能
我似乎找不到任何文档,所以我不确定它是否是一个公共API,但它可能会起作用。实际上,
python apt
允许您直接使用这些文件。下面是一个例子:
from apt.debfile import DebPackage
from pprint import pprint
pkg = DebPackage('/tmp/wajig_2.7_all.deb')
pprint(pkg.filelist)
输出:
$ ./script.py
['./',
'etc/',
'etc/bash_completion.d/',
...
'usr/bin/',
'usr/bin/wajig']
遗憾的是,它并不像我希望的那样完整,但它有很多功能
()Python apt可能是实现这一点的标准方法,但是如果您需要在非debian平台上工作的能力,我已经发布了它的一些部分的本地重新实现的早期版本:
在深入研究gdebi之后,我注意到它使用了您所指的功能,然后只是执行一个popen,然后运行dpkg。谢谢。直接链接到python apt的文档: