You are not logged in.
When updating python-paramiko from 3.5.1-1 to 4.0.0-1 I noticed that the new dependency `python-lexicon` (via `python-invoke`) conflicts with `dns-lexicon` which is required by multiple certbot packages.
extra/python-lexicon 3.0.0-1
Powerful dict subclass(es) with aliasing & attribute access
extra/dns-lexicon 3.21.1-1 [installed]
Manipulate DNS records on various DNS providers in a standardized/agnostic way
error: failed to commit transaction (conflicting files)
python-lexicon: /usr/lib/python3.13/site-packages/lexicon/__init__.py exists in filesystem (owned by dns-lexicon)
python-lexicon: /usr/lib/python3.13/site-packages/lexicon/__pycache__/__init__.cpython-313.opt-1.pyc exists in filesystem (owned by dns-lexicon)
python-lexicon: /usr/lib/python3.13/site-packages/lexicon/__pycache__/__init__.cpython-313.pyc exists in filesystem (owned by dns-lexicon)The dependency 'dns-lexicon' is required by certbot-dns-dnsimple, certbot-dns-dnsmadeeasy, certbot-dns-gehirn, certbot-dns-hetzner, certbot-dns-linode, certbot-dns-luadns, certbot-dns-nsone, certbot-dns-ovh ertbot-dns-sakuracloud
from 'extra'.
Last edited by ColdSphinX (2025-10-24 12:57:16)
Offline
The silent conflict seems to have existed since forever (both upstream sources using the generic "lexicon" module name) and you're now running into it because python-invoke became a hard dependency for paramiko 4.0
I'm not sure how this could be resolved w/o upstream patches (renaming the modules and importing the relevant ones) or a virtual environment.
You could try how hard that dependency actually is and -dd install python-invoke w/o python-lexicon but worst case scenario would be that python-invoke tries to use the "wrong" lexicon w/o realizing that and running into weird misbehavior.
![]()
Online