How to install a package using the python-apt API How to install a package using the python-apt API python python

How to install a package using the python-apt API


It's recommended to use the apt module from the python-apt Debian package. This is a higher level wrapper around the underlying C/C++ libapt-xxx libraries and has a Pythonic interface.

Here's an example script which will install the libjs-yui-doc package:

#!/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))

As with the use of apt-get, this must be run with superuser privileges to access and modify the APT cache.

$ sudo ./aptinstall.py

If you're attempting a package install as part of a larger script, it's probably a good idea to only raise to root privileges for the minimal time required.

You can find a small example in the /usr/share/pyshared/apt/progress/gtk2.py:_test() function showing how to install a package using a GTK front-end.