<p>Now (July 2018), you should be able to use either</p>

<pre><code>pip install certbot-dns-digitalocean
</code></pre>

<p>or</p>

<pre><code>git clone https://github.com/certbot/certbot.git
cd certbot/certbot-dns-digitalocean/
python setup.py install
</code></pre>

<p>You may need <code>sudo</code> privileges for either.</p>

<p>After installing you may not be able to see the plugin with <code>certbot plugins</code>, but you should be able to <code>certbot certonly --dns-digitalocean</code> just fine.</p>

CC BY-SA 4.0
2018-07-16T22:52:48.347Z
Hang on. How did you install certbot then? I think my problem was that I installed certbot with `apt` and `certbot-dns-digitalocean` with `pip` and certbot wasn't able to find it.
mpen
CC BY-SA 4.0
2018-07-17T16:34:59.590Z
Yep, and I installed it the same way you did. Maybe the way you installed `pip` is different? I `apt` installed python 2.7 and then `sudo easy_install pip` (may require an apt install of these: `python-setuptools python-dev build-essential`)
M. Davis
CC BY-SA 4.0
2018-07-16T19:43:41.930Z
2018-07-16T19:43:41.930Z
M. Davis
<p>For those who is using <strong><code>certbot</code></strong> distributed by OS distros <em>certbot plugins</em> can be installed by a package manager using provider's name, for example:</p>
<p><strong>Debian/Ubuntu:</strong></p>
<pre><code>apt-get install python3-certbot-dns-cloudflare
apt-get install python3-certbot-dns-google
apt-get install python3-certbot-dns-route53
</code></pre>
<p><strong>RHEL/CentOS/Rocky/AlmaLinux 8:</strong></p>
<pre><code>dnf install python3-certbot-dns-cloudflare
dnf install python3-certbot-dns-google
dnf install python3-certbot-dns-route53
</code></pre>
<p><strong>RHEL/CentOS 7:</strong></p>
<pre><code>yum install python2-certbot-dns-cloudflare
yum install python2-certbot-dns-google
yum install python2-certbot-dns-route53
</code></pre>

CC BY-SA 4.0
2021-06-18T17:09:35.480Z
2021-06-18T17:09:35.480Z
Ilia Ross
<p>You have to use Docker to use dns plugins. From <a href="https://certbot.eff.org/docs/using.html#dns-plugins" rel="nofollow noreferrer">DNS Plugins</a>:</p>

<blockquote>
  <p>These plugins are still in the process of being packaged by many distributions and cannot currently be installed with <code>certbot-auto</code>. If, however, you are comfortable installing the certificates yourself, you can run these plugins with <a href="https://certbot.eff.org/docs/install.html#docker-user" rel="nofollow noreferrer">Docker</a>.</p>
</blockquote>

CC BY-SA 4.0
2019-03-01T09:40:06.107Z
Doc [also says](https://certbot.eff.org/docs/install.html#running-with-docker): "Most users should use the operating system packages (see instructions at certbot.eff.org) or, as a fallback, `certbot-auto`. You should only use Docker if you are sure you know what you are doing and have a good reason to do so."
Totor
CC BY-SA 3.0
2018-04-24T16:40:06.187Z
2018-04-25T02:15:10.133Z
2018-04-25T02:15:10.133Z
erickgnavar
<p>The way you install certbot plugins depends on how you installed certbot itself. If you installed certbot using some package manager (apt, rpm, brew...), then you should look for compatible certbot plugins in that package manager's repository.</p>

<p>Let's Encrypt also support an alternative installation method: the certbot-auto wrapper. This wrapper creates a private Python virtual installation (generally in <code>/opt/eff.org/certbot/venv</code>), and install certbot into that directory. A nice feature of certbot-auto is that it automatically keeps the certbot client up-to-date. A major downside is that it does not <em>officially</em> supports plugins installation (that is, aside from four plugins that are installed by default).</p>

<p>It is easy enough to work around this limitation, as described in <a href="https://devops.stackexchange.com/a/4845">Ryan G's solution</a>. However, plugins installed through that procedure will be lost every time certbot-auto updates itself, which can result in random renew failures. Here, we have had a few situations where some certificates almost reached expiration because of that issue. Several tickets discuss this issue on certbot's bug tracker, and the team acknowledge the problem, but it seems that it might still be a long way before the issue is actually fixed.</p>

<p>Therefore, if using certbot-auto in an automated setup, it is desirable to either prevent certbot-auto's self updating (by running it with <code>--no-self-upgrade</code>), or to implement some strategy to ensure that required plugins are automatically reinstalled every time certbot is updated.</p>

<p>A possible solution to indeed ensure that required plugins are installed is to add a wrapper around certbot-auto. That wrapper could essentially look as follow:</p>

<pre><code>#!/bin/bash

# The list of plugins to be installed
CERTBOT_PLUGINS="certbot-dns-route53"

# Force the venv directory to be where we can easily find it
export VENV_PATH="/opt/eff.org/certbot/venv"

# Force certbot-auto to be where we expect it to be
export CERTBOT_AUTO="/usr/local/bin/certbot-auto-upstream"

# Force certbot-auto to bootstrap or upgrade itself, but do no more
"${CERTBOT_AUTO}"  --install-only  "$@"

# Check if required plugins are installed; install them if they are missing
(
    cd ${VENV_PATH}
    source bin/activate

    for plugin in $CERTBOT_PLUGINS ; do
        if ! pip show -q "$plugin" ; then
            pip install "$plugin"
        fi
    done

    deactivate
)

# Execute the actual certbot command
"${VENV_PATH}/bin/letsencrypt" "$@"
</code></pre>

<p>I have made available a more complete version of that wrapper <a href="https://gist.github.com/mjameswh/b9e1b3fef3369c1edcac34047f91a952" rel="nofollow noreferrer">here</a>; the only differences with the longer version is that it ensures that the wrapper is being run as root, and it properly handle the <code>--help</code> argument.</p>

<p>To install that wrapper, download the official <code>certbot-auto</code> program to <code>/usr/local/bin/certbot-auto-upstream</code>, and copy the wrapper to <code>/usr/local/bin/certbot-auto</code>. Make sure both files have proper privileges (<code>chown root:root /usr/local/bin/certbot-auto*</code>, then <code>chmod 755 /usr/local/bin/certbot-auto*</code>). In the wrapper file, make sure the line <code>CERTBOT_PLUGINS="..."</code> includes the list of plugins you actually need. And that's it. Simply use the <code>certbot-auto</code> command, as you would have done previously, and forget about the <code>certbot-auto-upstream</code> file.</p>

CC BY-SA 4.0
2019-05-22T21:12:25.540Z
2019-05-22T21:12:25.540Z
James
<p>Better method, thanks to the others responses for helping me get to this.</p>

<p>Determine what plugins are installed currently:</p>

<pre><code># certbot-auto plugins
Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* apache
Description: Apache Web Server plugin - Beta
Interfaces: IAuthenticator, IInstaller, IPlugin
Entry point: apache = certbot_apache.entrypoint:ENTRYPOINT

* nginx
Description: Nginx Web Server plugin
Interfaces: IAuthenticator, IInstaller, IPlugin
Entry point: nginx = certbot_nginx.configurator:NginxConfigurator

* standalone
Description: Spin up a temporary webserver
Interfaces: IAuthenticator, IPlugin
Entry point: standalone = certbot.plugins.standalone:Authenticator

* webroot
Description: Place files in webroot directory
Interfaces: IAuthenticator, IPlugin
Entry point: webroot = certbot.plugins.webroot:Authenticator
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
</code></pre>

<p>Determine where your certbot (in my case certbot-auto) is installed:</p>

<pre><code># find / -name certbot
/opt/eff.org/certbot
...
</code></pre>

<p>Get into the Virtual Env and install plugin</p>

<pre><code>cd /opt/eff.org/certbot/venv
source bin/activate
pip install certbot-dns-google
deactivate
</code></pre>

<p>Verify certbot plugins again</p>

<pre><code># certbot-auto plugins
Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* apache
Description: Apache Web Server plugin - Beta
Interfaces: IAuthenticator, IInstaller, IPlugin
Entry point: apache = certbot_apache.entrypoint:ENTRYPOINT

* dns-google
Description: Obtain certificates using a DNS TXT record (if you are using Google
Cloud DNS for DNS).
Interfaces: IAuthenticator, IPlugin
Entry point: dns-google = certbot_dns_google.dns_google:Authenticator

* nginx
Description: Nginx Web Server plugin
Interfaces: IAuthenticator, IInstaller, IPlugin
Entry point: nginx = certbot_nginx.configurator:NginxConfigurator

* standalone
Description: Spin up a temporary webserver
Interfaces: IAuthenticator, IPlugin
Entry point: standalone = certbot.plugins.standalone:Authenticator

* webroot
Description: Place files in webroot directory
Interfaces: IAuthenticator, IPlugin
Entry point: webroot = certbot.plugins.webroot:Authenticator
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
</code></pre>

CC BY-SA 4.0
2019-06-03T03:38:38.577Z
Please note that this can be tricky to cron, certbot-auto version upgrades will cause you to need to cron the "pip install" portion again.
Ryan
CC BY-SA 4.0
2021-01-01T00:00:38.117Z
`sudo find / -name venv|grep certbot` might be an easier way to find the venv directory.
Cameron
CC BY-SA 4.0
2018-08-25T16:02:14.897Z
2018-08-25T16:02:14.897Z
Ryan
<p>If you're on ubuntu or debian, you can grab the following packages from debian testing (buster) </p>

<p>python3-certbot-dns-digitalocean_0.23.0-2_all.deb python3-digitalocean_1.13.2-1_all.deb</p>

CC BY-SA 4.0
2018-11-05T22:38:02.503Z
2018-11-05T22:38:02.503Z
Matthew Darwin
<p>This worked for me on Ubuntu 18.04 LTS</p>

<pre><code>apt install certbot
apt install python3-certbot-dns-digitalocean
</code></pre>

<p><a href="https://github.com/certbot/certbot/issues/6531#issuecomment-443812851" rel="nofollow noreferrer">See this certbot issue</a></p>

CC BY-SA 4.0
2019-08-31T16:25:00.880Z
2019-08-31T16:25:00.880Z
Xetwo
<p>I had the same problem, after I updated certbot on OS X I could not get the digitalocean plugin to appear, even after re-installing it with <code>pip install certbot-dns-digitalocean</code>.</p>

<p>The solution was to uninstall it and then re-install it. I used sudo just to be safe:</p>

<pre><code>sudo pip uninstall certbot-dns-digitalocean 
sudo pip install certbot-dns-digitalocean
</code></pre>

<p>It then appeared ok in the <code>certbot plugins</code> list.</p>

CC BY-SA 4.0
2019-10-08T08:35:34.737Z
2019-10-08T08:35:34.737Z
Alan Lawson
<p>First run</p>

<pre><code># type certbot
certbot is hashed (/usr/bin/certbot)
</code></pre>

<p>To find out where <code>certbot</code> is installed to. Or <code>command -v certbot</code> if you prefer.</p>

<p>Then run <code>head /usr/bin/certbot</code> and note what version of Python it's using:</p>

<pre><code>#!/usr/bin/python3
</code></pre>

<p>In my case, it was using Python 3.</p>

<p>I noticed from my pip output it was trying to install a Python 2.7 package:</p>

<pre><code># pip install certbot-dns-digitalocean
Requirement already satisfied: certbot-dns-digitalocean in /usr/local/lib/python2.7/dist-packages
</code></pre>

<p>So how do we get pip to install Python 3 packages instead? Just copy the instructions from <a href="https://stackoverflow.com/a/11272201/65387">here</a>:</p>

<pre><code>cd /tmp
curl -O https://bootstrap.pypa.io/get-pip.py
python3 get-pip.py
rm get-pip.py
</code></pre>

<p>Now you should have the <code>pip3</code> command, so run this instead:</p>

<pre><code>pip3 install certbot-dns-digitalocean
</code></pre>

<p>And now try again:</p>

<pre><code># certbot plugins
Saving debug log to /var/log/letsencrypt/letsencrypt.log

-------------------------------------------------------------------------------
* dns-digitalocean
Description: Obtain certs using a DNS TXT record (if you are using DigitalOcean
for DNS).
Interfaces: IAuthenticator, IPlugin
Entry point: dns-digitalocean =
certbot_dns_digitalocean.dns_digitalocean:Authenticator
</code></pre>

CC BY-SA 4.0
2019-01-17T00:32:41.550Z
if you run into this error `ImportError: cannot import name 'sysconfig'`
install package `python3-distutils`.  That and using sudo did the trick.  I have route53 plugin loaded.
DKebler
CC BY-SA 4.0
2018-09-05T02:02:58.703Z
2018-09-05T02:02:58.703Z
mpen
<p>I installed Certbot by following <a href="https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-16-04" rel="noreferrer">this tutorial</a>:</p>

<pre><code>sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install python-certbot-nginx
</code></pre>

<p>And now I want to set up my cert, but I need the <code>dns-digitalocean</code> plugin:</p>

<pre><code># certbot certonly --dns-digitalocean
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Could not choose appropriate plugin: The requested dns-digitalocean plugin does not appear to be installed
The requested dns-digitalocean plugin does not appear to be installed
</code></pre>

<p>I tried installing it with <code>pip</code>:</p>

<pre><code>pip install certbot-dns-digitalocean
</code></pre>

<p>But apparently the apt-get version isn't "seeing" it.</p>

<p>How do I install it properly?</p>

<ssl><certbot>
How to install Certbot plugins?
mpen
# How to install Certbot plugins?

(Asked by: username_0 on 2018-03-28)

I installed Certbot by following this tutorial:
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install python-certbot-nginx

And now I want to set up my cert, but I need the dns-digitalocean plugin:
# certbot certonly --dns-digitalocean
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Could not choose appropriate plugin: The requested dns-digitalocean plugin does not appear to be installed
The requested dns-digitalocean plugin does not appear to be installed

I tried installing it with pip:
pip install certbot-dns-digitalocean

But apparently the apt-get version isn't "seeing" it.
How do I install it properly?

**Tags:** ssl, certbot


---

## 9 answers

### Answer by username_0 on 2018-09-05. Score: 15 | Accepted answer

First run
# type certbot
certbot is hashed (/usr/bin/certbot)

To find out where certbot is installed to. Or command -v certbot if you prefer.
Then run head /usr/bin/certbot and note what version of Python it's using:
#!/usr/bin/python3

In my case, it was using Python 3.
I noticed from my pip output it was trying to install a Python 2.7 package:
# pip install certbot-dns-digitalocean
Requirement already satisfied: certbot-dns-digitalocean in /usr/local/lib/python2.7/dist-packages

So how do we get pip to install Python 3 packages instead? Just copy the instructions from here:
cd /tmp
curl -O https://bootstrap.pypa.io/get-pip.py
python3 get-pip.py
rm get-pip.py

Now you should have the pip3 command, so run this instead:
pip3 install certbot-dns-digitalocean

And now try again:
# certbot plugins
Saving debug log to /var/log/letsencrypt/letsencrypt.log

-------------------------------------------------------------------------------
* dns-digitalocean
Description: Obtain certs using a DNS TXT record (if you are using DigitalOcean
for DNS).
Interfaces: IAuthenticator, IPlugin
Entry point: dns-digitalocean =
certbot_dns_digitalocean.dns_digitalocean:Authenticator

> **Comments:**
> **username_11**: if you run into this error `ImportError: cannot import name 'sysconfig'` install package `python3-distutils`.  That and using sudo did the trick.  I have route53 plugin loaded.  

---

### Answer by username_6 on 2018-08-25. Score: 22

Better method, thanks to the others responses for helping me get to this.
Determine what plugins are installed currently:
# certbot-auto plugins
Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* apache
Description: Apache Web Server plugin - Beta
Interfaces: IAuthenticator, IInstaller, IPlugin
Entry point: apache = certbot_apache.entrypoint:ENTRYPOINT

* nginx
Description: Nginx Web Server plugin
Interfaces: IAuthenticator, IInstaller, IPlugin
Entry point: nginx = certbot_nginx.configurator:NginxConfigurator

* standalone
Description: Spin up a temporary webserver
Interfaces: IAuthenticator, IPlugin
Entry point: standalone = certbot.plugins.standalone:Authenticator

* webroot
Description: Place files in webroot directory
Interfaces: IAuthenticator, IPlugin
Entry point: webroot = certbot.plugins.webroot:Authenticator
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Determine where your certbot (in my case certbot-auto) is installed:
# find / -name certbot
/opt/eff.org/certbot
...

Get into the Virtual Env and install plugin
cd /opt/eff.org/certbot/venv
source bin/activate
pip install certbot-dns-google
deactivate

Verify certbot plugins again
# certbot-auto plugins
Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* apache
Description: Apache Web Server plugin - Beta
Interfaces: IAuthenticator, IInstaller, IPlugin
Entry point: apache = certbot_apache.entrypoint:ENTRYPOINT

* dns-google
Description: Obtain certificates using a DNS TXT record (if you are using Google
Cloud DNS for DNS).
Interfaces: IAuthenticator, IPlugin
Entry point: dns-google = certbot_dns_google.dns_google:Authenticator

* nginx
Description: Nginx Web Server plugin
Interfaces: IAuthenticator, IInstaller, IPlugin
Entry point: nginx = certbot_nginx.configurator:NginxConfigurator

* standalone
Description: Spin up a temporary webserver
Interfaces: IAuthenticator, IPlugin
Entry point: standalone = certbot.plugins.standalone:Authenticator

* webroot
Description: Place files in webroot directory
Interfaces: IAuthenticator, IPlugin
Entry point: webroot = certbot.plugins.webroot:Authenticator
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

> **Comments:**
> **username_6**: Please note that this can be tricky to cron, certbot-auto version upgrades will cause you to need to cron the "pip install" portion again.  
> **username_7**: `sudo find / -name venv|grep certbot` might be an easier way to find the venv directory.  

---

### Answer by username_1 on 2018-07-16. Score: 8

Now (July 2018), you should be able to use either
pip install certbot-dns-digitalocean

or
git clone https://github.com/certbot/certbot.git
cd certbot/certbot-dns-digitalocean/
python setup.py install

You may need sudo privileges for either.
After installing you may not be able to see the plugin with certbot plugins, but you should be able to certbot certonly --dns-digitalocean just fine.

> **Comments:**
> **username_0**: Hang on. How did you install certbot then? I think my problem was that I installed certbot with `apt` and `certbot-dns-digitalocean` with `pip` and certbot wasn't able to find it.  
> **username_1**: Yep, and I installed it the same way you did. Maybe the way you installed `pip` is different? I `apt` installed python 2.7 and then `sudo easy_install pip` (may require an apt install of these: `python-setuptools python-dev build-essential`)  

---

### Answer by username_2 on 2021-06-18. Score: 3

For those who is using certbot distributed by OS distros certbot plugins can be installed by a package manager using provider's name, for example:
Debian/Ubuntu:
apt-get install python3-certbot-dns-cloudflare
apt-get install python3-certbot-dns-google
apt-get install python3-certbot-dns-route53

RHEL/CentOS/Rocky/AlmaLinux 8:
dnf install python3-certbot-dns-cloudflare
dnf install python3-certbot-dns-google
dnf install python3-certbot-dns-route53

RHEL/CentOS 7:
yum install python2-certbot-dns-cloudflare
yum install python2-certbot-dns-google
yum install python2-certbot-dns-route53


---

### Answer by username_3 on 2018-04-24. Score: 3

You have to use Docker to use dns plugins. From [DNS Plugins](https://certbot.eff.org/docs/using.html#dns-plugins):

> These plugins are still in the process of being packaged by many distributions and cannot currently be installed with `certbot-auto`. If, however, you are comfortable installing the certificates yourself, you can run these plugins with [Docker](https://certbot.eff.org/docs/install.html#docker-user).

> **Comments:**
> **username_4**: Doc [also says](https://certbot.eff.org/docs/install.html#running-with-docker): "Most users should use the operating system packages (see instructions at certbot.eff.org) or, as a fallback, `certbot-auto`. You should only use Docker if you are sure you know what you are doing and have a good reason to do so."  

---

### Answer by username_5 on 2019-05-22. Score: 2

The way you install certbot plugins depends on how you installed certbot itself. If you installed certbot using some package manager (apt, rpm, brew...), then you should look for compatible certbot plugins in that package manager's repository.
Let's Encrypt also support an alternative installation method: the certbot-auto wrapper. This wrapper creates a private Python virtual installation (generally in /opt/eff.org/certbot/venv), and install certbot into that directory. A nice feature of certbot-auto is that it automatically keeps the certbot client up-to-date. A major downside is that it does not officially supports plugins installation (that is, aside from four plugins that are installed by default).
It is easy enough to work around this limitation, as described in username_6 G's solution. However, plugins installed through that procedure will be lost every time certbot-auto updates itself, which can result in random renew failures. Here, we have had a few situations where some certificates almost reached expiration because of that issue. Several tickets discuss this issue on certbot's bug tracker, and the team acknowledge the problem, but it seems that it might still be a long way before the issue is actually fixed.
Therefore, if using certbot-auto in an automated setup, it is desirable to either prevent certbot-auto's self updating (by running it with --no-self-upgrade), or to implement some strategy to ensure that required plugins are automatically reinstalled every time certbot is updated.
A possible solution to indeed ensure that required plugins are installed is to add a wrapper around certbot-auto. That wrapper could essentially look as follow:
#!/bin/bash

# The list of plugins to be installed
CERTBOT_PLUGINS="certbot-dns-route53"

# Force the venv directory to be where we can easily find it
export VENV_PATH="/opt/eff.org/certbot/venv"

# Force certbot-auto to be where we expect it to be
export CERTBOT_AUTO="/usr/local/bin/certbot-auto-upstream"

# Force certbot-auto to bootstrap or upgrade itself, but do no more
"${CERTBOT_AUTO}"  --install-only  "$@"

# Check if required plugins are installed; install them if they are missing
(
    cd ${VENV_PATH}
    source bin/activate

    for plugin in $CERTBOT_PLUGINS ; do
        if ! pip show -q "$plugin" ; then
            pip install "$plugin"
        fi
    done

    deactivate
)

# Execute the actual certbot command
"${VENV_PATH}/bin/letsencrypt" "$@"

I have made available a more complete version of that wrapper here; the only differences with the longer version is that it ensures that the wrapper is being run as root, and it properly handle the --help argument.
To install that wrapper, download the official certbot-auto program to /usr/local/bin/certbot-auto-upstream, and copy the wrapper to /usr/local/bin/certbot-auto. Make sure both files have proper privileges (chown root:root /usr/local/bin/certbot-auto*, then chmod 755 /usr/local/bin/certbot-auto*). In the wrapper file, make sure the line CERTBOT_PLUGINS="..." includes the list of plugins you actually need. And that's it. Simply use the certbot-auto command, as you would have done previously, and forget about the certbot-auto-upstream file.


---

### Answer by username_8 on 2018-11-05. Score: 1

If you're on ubuntu or debian, you can grab the following packages from debian testing (buster)

python3-certbot-dns-digitalocean\_0.23.0-2\_all.deb python3-digitalocean\_1.13.2-1\_all.deb


---

### Answer by username_9 on 2019-08-31. Score: 1

This worked for me on Ubuntu 18.04 LTS
apt install certbot
apt install python3-certbot-dns-digitalocean

See this certbot issue


---

### Answer by username_10 on 2019-10-08. Score: 1

I had the same problem, after I updated certbot on OS X I could not get the digitalocean plugin to appear, even after re-installing it with pip install certbot-dns-digitalocean.
The solution was to uninstall it and then re-install it. I used sudo just to be safe:
sudo pip uninstall certbot-dns-digitalocean 
sudo pip install certbot-dns-digitalocean

It then appeared ok in the certbot plugins list.


---

