PPA for Ubuntu 16.04 LTS upgrades Python libraries


The official installation instructions for certbot on Ubuntu 16.04 LTS tells me to add the PPA ppa:certbot/certbot. After adding this PPA, apt wants to remove and upgrade many Python libraries:

% LC_ALL=en sudo apt upgrade                                                                                                                                                                    :(
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following packages were automatically installed and are no longer required:
  javascript-common letsencrypt libjs-jquery libjs-sphinxdoc libjs-underscore python-acme python-asn1crypto python-certifi python-cffi-backend python-chardet python-configargparse python-configobj
  python-configparser python-cryptography python-dialog python-enum34 python-funcsigs python-future python-idna python-ipaddress python-josepy python-letsencrypt python-mock python-ndg-httpsclient
  python-openssl python-parsedatetime python-pbr python-psutil python-pyasn1 python-pyicu python-requests python-requests-toolbelt python-rfc3339 python-urllib3 python-zope.component python-zope.event
  python-zope.hookable python-zope.interface
Use 'sudo apt autoremove' to remove them.
The following NEW packages will be installed:
  javascript-common libjs-jquery libjs-sphinxdoc libjs-underscore python-asn1crypto python-certifi python-configparser python-future python-josepy python-requests-toolbelt python-setuptools
The following packages have been kept back:
The following packages will be upgraded:
  python-acme python-cffi-backend python-chardet python-configargparse python-configobj python-cryptography python-dialog python-idna python-ipaddress python-ndg-httpsclient python-openssl python-parsedatetime
  python-pkg-resources python-psutil python-pyasn1 python-requests python-rfc3339 python-six python-urllib3 python-zope.component python-zope.hookable python-zope.interface python3-pkg-resources
24 upgraded, 11 newly installed, 0 to remove and 1 not upgraded.

I really don’t want to replace the Ubuntu versions of all these Python libraries by those provided by the certbot PPA.

Is there another way to install the current certbot version on this OS without replacing many binaries?


Assuming you don’t need any non-standard Certbot plugins from the PPA, you always have the option to use certbot-auto. This does not need any external repositories, updates itself, and fully isolates its dependencies using virtualenv.

You would need to manually create a cron task or systemd timer for it though, since it does not setup that up for you (unlike the .deb version of Certbot).

It’s fully compatible with your existing Certbot data files.


This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.