u/New_to_Reddit_Bob

A little while back my cert renews broke, using the Cloudflare DNS plugin.

The error is clear, I'm missing a module but I'm not sure what additional package I need.

Does anyone have any ideas?

❯ sudo certbot renew --quiet
The 'certbot_dns_cloudflare._internal.dns_cloudflare' plugin errored while loading: No module named 'CloudFlare'. You may need to remove or update this plugin. The Certbot log will contain the full error details and this should be reported to the plugin developer.
❯
❯ sudo zypper search -i "/cloud|certbot/"
Loading repository data...
Reading installed packages...

S  | Name                             | Summary                                      | Type
---+----------------------------------+----------------------------------------------+--------
i  | libcloudproviders0               | Library to integrate cloud storage providers | package
i+ | python314-certbot                | ACME client                                  | package
i+ | python314-certbot-dns-cloudflare | Cloudflare Authenticator plugin for Certbot  | package
i  | python314-cloudflare             | Python wrapper for the Cloudflare v4 API     | package
❯
❯ sudo cat /tmp/certbot-log-9tdz90i_/log
2026-05-03 12:19:22,855:DEBUG:certbot._internal.log:Exiting abnormally:
Traceback (most recent call last):
  File "/usr/lib/python3.14/site-packages/certbot/_internal/plugins/disco.py", line 193, in find_all
    cls._load_entry_point(entry_point, plugins)
    ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.14/site-packages/certbot/_internal/plugins/disco.py", line 205, in _load_entry_point
    plugin_ep = PluginEntryPoint(entry_point)
  File "/usr/lib/python3.14/site-packages/certbot/_internal/plugins/disco.py", line 39, in __init__
    self.plugin_cls: type[interfaces.Plugin] = entry_point.load()
                                               ~~~~~~~~~~~~~~~~^^
  File "/usr/lib64/python3.14/importlib/metadata/__init__.py", line 179, in load
    module = import_module(match.group('module'))
  File "/usr/lib64/python3.14/importlib/__init__.py", line 88, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1406, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1371, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1342, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 938, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 759, in exec_module
  File "<frozen importlib._bootstrap>", line 491, in _call_with_frames_removed
  File "/usr/lib/python3.14/site-packages/certbot_dns_cloudflare/_internal/dns_cloudflare.py", line 8, in <module>
    import CloudFlare
ModuleNotFoundError: No module named 'CloudFlare'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/bin/certbot-3.14", line 6, in <module>
    sys.exit(main())
             ~~~~^^
  File "/usr/lib/python3.14/site-packages/certbot/main.py", line 18, in main
    return internal_main.main(cli_args)
           ~~~~~~~~~~~~~~~~~~^^^^^^^^^^
  File "/usr/lib/python3.14/site-packages/certbot/_internal/main.py", line 1858, in main
    plugins = plugins_disco.PluginsRegistry.find_all()
  File "/usr/lib/python3.14/site-packages/certbot/_internal/plugins/disco.py", line 195, in find_all
    raise errors.PluginError(
    ...<3 lines>...
        "plugin developer.") from e
certbot.errors.PluginError: The 'certbot_dns_cloudflare._internal.dns_cloudflare' plugin errored while loading: No module named 'CloudFlare'. You may need to remove or update this plugin.
❯
reddit.com
u/New_to_Reddit_Bob — 12 days ago