certbot requires unavailable cryptography >= 2.1.4

Suddenly certbot claims to require cryptography>=2.1.4, but updated ports only gives me v2.0.4. How can I fix this?

Code:
# pkg info | grep -e certbot -e cryptography | cut -f 1 -d ' '
py27-certbot-0.20.0,1
py27-cryptography-2.0.3_1

Code:
# certbot
Traceback (most recent call last):
  File "/usr/local/bin/certbot", line 6, in <module>
    from pkg_resources import load_entry_point
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3147, in <module>
    @_call_aside
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3131, in _call_aside
    f(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3160, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 668, in _build_master
    return cls._build_from_requirements(__requires__)
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 681, in _build_from_requirements
    dists = ws.resolve(reqs, Environment())
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 875, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (cryptography 2.0.3 (/usr/local/lib/python2.7/site-packages), [I]Requirement.parse('cryptography>=2.1.4')[/I], set(['PyOpenSSL']))
 
You have to wait for the maintainer to update the security/py-cryptography port. Or you could do it yourself and submit a PR to get it updated.

My honest answer is to not use certbot. It requires far too many external dependencies and is very easily prone to being broken as you've found. I would look at other clients such as acme.sh or dehydrated which are much more simple shell scripts which don't rely on other ports to function.
https://letsencrypt.org/docs/client-options/
https://letsencrypt.org/docs/client-options/
 
Back
Top