SSL 無料証明書(Let's Encrypt) - トラブルシュート - Requirement.parse('cryptography>=3.2')

クラウディア 
1. 概要
2. 対応
3. certbot 解消

1. 概要

 発生は、2021年2月21日。  前日にアップグレードした、なにものかが影響しているようです。  「crtbot」を起動すると。

Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/pkg_resources/__init__.py", line 583, in _build_master
    ws.require(__requires__)
  File "/usr/local/lib/python3.7/site-packages/pkg_resources/__init__.py", line 900, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/local/lib/python3.7/site-packages/pkg_resources/__init__.py", line 791, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (cryptography 2.9.2 (/usr/local/lib/python3.7/site-packages), Requirement.parse('cryptography>=3.2'), {'PyOpenSSL'})

During handling of the above exception, another exception occurred:

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/python3.7/site-packages/pkg_resources/__init__.py", line 3251, in <module>
    @_call_aside
  File "/usr/local/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3235, in _call_aside
    f(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3264, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/local/lib/python3.7/site-packages/pkg_resources/__init__.py", line 585, in _build_master
    return cls._build_from_requirements(__requires__)
  File "/usr/local/lib/python3.7/site-packages/pkg_resources/__init__.py", line 598, in _build_from_requirements
    dists = ws.resolve(reqs, Environment())
  File "/usr/local/lib/python3.7/site-packages/pkg_resources/__init__.py", line 791, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (cryptography 2.9.2 (/usr/local/lib/python3.7/site-packages), Requirement.parse('cryptography>=3.2'), {'PyOpenSSL'})
 てなことを言われます。

2. 対応

 あれこれ苦労しましたが、結論は、バージョンが下がってしまいますが・・・。  「py37-openssl」「py37-certbot」を「ports」からアンインストールして、「pkg」でインストールしなおすこと・・・。  すなわち。

cd /usr/ports/security/py-openssl
make deinstall clean

cd /usr/ports/security/py-certbot
make deinstall clean
 してから

pkg install py37-certbot
 します。  状況としては

$ pkg version -vl "<"
py37-certbot-1.10.1,1              <   needs updating (index has 1.11.0,1)
py37-openssl-19.1.0                <   needs updating (index has 20.0.1)
 てなことになっちゃうのですが、今んとここうでなくちゃ動かないので仕方ない。  次のバージョンが出るまでは、これで我慢するしかないですね。

3. certbot 解消

 2021年2月25日、下記の状況になりまして。

$ pkg version -vl "<"
py37-certbot-1.10.1,1              <   needs updating (index has 1.11.0,1)
py37-openssl-19.1.0                <   needs updating (index has 20.0.1)
py37-zope.interface-4.6.0          <   needs updating (index has 5.2.0)
 そこで

portupgrade -Rr py37-zope.interface
 しましたらば、「py37-certbot」も依存関係で同時にアップグレードされました。  その状況で、「certbot」を実行したところ、支障なく動作しましたので、「certbot」の方は状況が解消しました。  「openssl」の方は、もう少し様子をみてみます。
ハイスピードプラン