Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot install with pip #106

Open
philpem opened this issue Jan 31, 2025 · 3 comments
Open

Cannot install with pip #106

philpem opened this issue Jan 31, 2025 · 3 comments

Comments

@philpem
Copy link

philpem commented Jan 31, 2025

There seems to be an issue with installing this package using Pip as explained in the readme.

(certbot-venv) root@avalon:~# pip install certbot-dns-pdns
ERROR: Could not find a version that satisfies the requirement certbot-dns-pdns (from versions: none)
ERROR: No matching distribution found for certbot-dns-pdns

Installing Certbot itself works fine:

(certbot-venv) root@avalon:~# pip install certbot
Collecting certbot
  Downloading certbot-3.1.0-py3-none-any.whl (407 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 407.2/407.2 KB 7.2 MB/s eta 0:00:00
@philpem
Copy link
Author

philpem commented Jan 31, 2025

I've just tried to install the wheel (.whl) from the Releases page -- while it's not an "approved" installation method it gives more clues:

(certbot-venv) root@syrys:~# pip install certbot_dns_pdns-0.1.1-py3-none-any.whl 
Processing ./certbot_dns_pdns-0.1.1-py3-none-any.whl
Requirement already satisfied: certbot>=2.7.0 in ./certbot-venv/lib/python3.10/site-packages (from certbot-dns-pdns==0.1.1) (3.1.0)
Collecting dns-lexicon>=3.15.0
  Downloading dns_lexicon-3.20.1-py3-none-any.whl (255 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 255.6/255.6 KB 4.3 MB/s eta 0:00:00
ERROR: Package 'certbot-dns-pdns' requires a different Python: 3.10.12 not in '<4.0,>=3.11'

Sadly it seems the certbot-dns-pdns package needs a newer version of Python. It would be great if support could be added for 3.10 -- reasoning being that while I appreciate the Ubuntu 22.04 LTS isn't cutting-edge, it is supported until 2027.

I had planned to leave the 24.04 LTS for a little while to stabilise before migrating.

Edit - the Certbot Dockerfile is based on Python 3.8, so this dependency on Python 3.11 also breaks compatibility with that: https://hub.docker.com/r/certbot/certbot/dockerfile

@kaechele
Copy link
Owner

Thanks for reporting this. I think it's probably not an issue to support older versions of Python.
I'll look into it.

@philpem
Copy link
Author

philpem commented Feb 1, 2025

Thanks, much appreciated 👍

I've just had a quick try at installing certbot-dns-pdns inside a Python 3.12-Alpine container and crashed into a PyYAML bug (yaml/pyyaml#601), and this was pulled in by a dependency in dns-lexicon:

Collecting pyyaml<6,>=5 (from dns-lexicon<=3.5.6,>=3.2.4->certbot-dns-powerdns)
  Downloading PyYAML-5.4.1.tar.gz (175 kB)
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'error'
(..)
        File "<string>", line 201, in get_source_files
        File "/tmp/pip-build-env-6zzpe_lm/overlay/lib/python3.12/site-packages/setuptools/_distutils/cmd.py", line 120, in __getattr__
          raise AttributeError(attr)
      AttributeError: cython_sources
      [end of output]

With the earlier output re. dns-lexicon being:

Collecting dns-lexicon<=3.5.6,>=3.2.4 (from certbot-dns-powerdns)
  Downloading dns_lexicon-3.5.6-py3-none-any.whl.metadata (9.4 kB)

The obvious answer would be to upgrade dns-lexicon but I expect there's a reason it's pinned at 3.5.5 on pypi.

Edit: I've just built using the current git HEAD and pip installed it fine, so that's something.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants