建议使用Debian软件包中的
apt模块
python-apt。这是底层C / C ++
libapt-xxx库的高级包装,并具有Pythonic接口。
这是将安装
libjs-yui-doc软件包的示例脚本:
#!/usr/bin/env python# aptinstall.pyimport aptimport syspkg_name = "libjs-yui-doc"cache = apt.cache.Cache()cache.update()cache.open()pkg = cache[pkg_name]if pkg.is_installed: print "{pkg_name} already installed".format(pkg_name=pkg_name)else: pkg.mark_install() try: cache.commit() except Exception, arg: print >> sys.stderr, "Sorry, package installation failed [{err}]".format(err=str(arg))与使用一样
apt-get,它必须以超级用户特权运行才能访问和修改APT缓存。
$ sudo ./aptinstall.py
如果您尝试将软件包安装作为较大脚本的一部分,则最好仅在最短的时间内获得root特权,这是一个好主意。
您可以在
/usr/share/pyshared/apt/progress/gtk2.py:_test()函数中找到一个小示例,该示例说明如何使用GTK前端安装软件包。



