You are not logged in.

#1 2022-07-14 07:36:40

Registered: 2011-01-05
Posts: 53

[solved] Certbot: ContextualVersionConflict with protobuf

Hi, recently certbot has stopped working - and is returning:

sudo /usr/bin/certbot renew --quiet --agree-tos --deploy-hook "systemctl reload httpd.service" --dry-run
An unexpected error occurred:
pkg_resources.ContextualVersionConflict: (protobuf 4.21.2 (/usr/lib/python3.10/site-packages), Requirement.parse('protobuf<4.0.0dev,>=3.15.0'), {'googleapis-common-protos'})

How can I resolve this?
Googleapis-common-protos and protobuf are at versions:

pip list | grep proto
googleapis-common-protos 1.56.4
protobuf                                3.20.1

Update, the above packages were from my local user's pip, not the root's. I needed to upgrade root's googleapis-common-protos from 1.56.2 to 1.56.4, which seems to have resolved the problem:

sudo pip install googleapis-common-protos --upgrade

Last edited by bergqvistjl (2022-07-14 07:40:20)


#2 2022-07-14 08:42:19

Forum Moderator
Registered: 2012-10-16
Posts: 16,718

Re: [solved] Certbot: ContextualVersionConflict with protobuf

You should in general not use sudo pip for anything as you are creating conflicts with system packages. You likely already did at some point that certbot didn't work (assuming you installed that from the repos)


#3 2022-07-19 07:52:25

Registered: 2020-10-22
Posts: 3

Re: [solved] Certbot: ContextualVersionConflict with protobuf

I have the same problem, and FYI I'm not using pip.

system's protobuf were updated but certbot system's package still requires protobuf < 4:

# pacman -Q certbot
   certbot 1.29.0-1

# pacman -Q protobuf
   protobuf 21.2-1

# pacman -Qo /usr/lib/python3.10/site-packages/protobuf-4.21.2-py3.10.egg-info/
   /usr/lib/python3.10/site-packages/protobuf-4.21.2-py3.10.egg-info/ is owned by python-protobuf 21.2-1

As additional info, this is the whole log from certbot about the complain:

2022-07-19 09:57:33,967:DEBUG:certbot._internal.log:Exiting abnormally:
Traceback (most recent call last):
  File "/usr/bin/certbot", line 8, in <module>
  File "/usr/lib/python3.10/site-packages/certbot/", line 19, in main
    return internal_main.main(cli_args)
  File "/usr/lib/python3.10/site-packages/certbot/_internal/", line 1705, in main
    plugins = plugins_disco.PluginsRegistry.find_all()
  File "/usr/lib/python3.10/site-packages/certbot/_internal/plugins/", line 241, in find_all
    plugin_ep = cls._load_entry_point(entry_point, plugins, with_prefix=False)
  File "/usr/lib/python3.10/site-packages/certbot/_internal/plugins/", line 261, in _load_entry_point
    plugin_ep = PluginEntryPoint(entry_point, with_prefix)
  File "/usr/lib/python3.10/site-packages/certbot/_internal/plugins/", line 60, in __init__
    self.plugin_cls: Type[interfaces.Plugin] = entry_point.load()
  File "/usr/lib/python3.10/site-packages/pkg_resources/", line 2457, in load
    self.require(*args, **kwargs)
  File "/usr/lib/python3.10/site-packages/pkg_resources/", line 2480, in require
    items = working_set.resolve(reqs, env, installer, extras=self.extras)
  File "/usr/lib/python3.10/site-packages/pkg_resources/", line 788, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (protobuf 4.21.2 (/usr/lib/python3.10/site-packages), Requirement.parse('protobuf<4.0.0dev,>=3.15.0'), {'googleapis-common-protos'})
2022-07-19 09:57:33,968:ERROR:certbot._internal.log:An unexpected error occurred:
2022-07-19 09:57:33,968:ERROR:certbot._internal.log:pkg_resources.ContextualVersionConflict: (protobuf 4.21.2 (/usr/lib/python3.10/site-packages), Requirement.parse('protobuf<4.0.0dev,>=3.15.0'), {'googleapis-common-protos'})

I see some paths saying plugins so maybe it's related not with certbot package itself but certbot-dns-google plugin package.  However is the same version as certbot:

# pacman -Q certbot-dns-google
   certbot-dns-google 1.29.0-1

Last edited by manueljben (2022-07-19 08:31:09)


Board footer

Powered by FluxBB