This article describes how to use certbot with Python 2.7. The assumption is that you have already installed certbot.
At the bottom of this article, is a related post on how to install Python 2.7. After installing Python, install/run certbot.
scl enable python27 '/opt/certbot-auto help'
To run certbot, enable python 2.7 first, then run the certbot commands.
scl enable python27 bash
If, however, you are still getting errors about Python 2.6. A likely cause is that certbot was run prior to installing Python 2.7. Since certbot created a virtual environment with symbolic links to the incorrect version of Python, I exited certbot and deleted the virtual environment. Do this with caution as I don't know what this may have effected, it didn't seem to negatively impact anything I was working on.
Anyway, while still using python 2.7, attempt to run certbot again. A new virtual environment is created and it works.
[root@python opt]# ./certbot-auto help ------------------------------------------------------------------------------- certbot-auto [SUBCOMMAND] [options] [-d DOMAIN] [-d DOMAIN] ... Certbot can obtain and install HTTPS/TLS/SSL certificates. By default, it will attempt to use a webserver both for obtaining and installing the certificate. The most common SUBCOMMANDS and flags are: obtain, install, and renew certificates: (default) run Obtain & install a certificate in your current webserver certonly Obtain or renew a certificate, but do not install it renew Renew all previously obtained certificates that are near expiry -d DOMAINS Comma-separated list of domains to obtain a certificate for --apache Use the Apache plugin for authentication & installation --standalone Run a standalone webserver for authentication --nginx Use the Nginx plugin for authentication & installation --webroot Place files in a server's webroot folder for authentication --manual Obtain certificates interactively, or using shell script hooks -n Run non-interactively --test-cert Obtain a test certificate from a staging server --dry-run Test "renew" or "certonly" without saving any certificates to disk manage certificates: certificates Display information about certificates you have from Certbot revoke Revoke a certificate (supply --cert-path) delete Delete a certificate manage your account with Let's Encrypt: register Create a Let's Encrypt ACME account --agree-tos Agree to the ACME server's Subscriber Agreement -m EMAIL Email address for important account notifications More detailed help: -h, --help [TOPIC] print this message, or detailed help on a topic; the available TOPICS are: all, automation, commands, paths, security, testing, or any of the subcommands or plugins (certonly, renew, install, register, nginx, apache, standalone, webroot, etc.) -------------------------------------------------------------------------------
An alternate untested approach is to hack out the depreciation warning for Python 2.6.
wget -nv -O /usr/local/bin/certbot-auto https://dl.eff.org/certbot-auto chmod +x /usr/local/bin/certbot-auto /usr/local/bin/certbot-auto --non-interactive sed -i 's/python2$/python2 -W ignore::DeprecationWarning/' ~/.local/share/letsencrypt/bin/letsencrypt /usr/local/bin/certbot-auto certonly --standalone --preferred-challenges tls-sni-01 -d "$HOSTNAME"
Source(s)
http://blog.leifmadsen.com/blog/2017/01/03/installing-python-2.7-on-centos-6.x/
https://access.redhat.com/documentation/en-us/red_hat_software_collections/1/html/packaging_guide/sect-testing_the_h2m144_software_collection
http://mirror.centos.org/centos/6/sclo/x86_64/rh/
http://mirror.centos.org/centos/7/sclo/x86_64/rh/