pipenvコマンド実行時、pkg_resources.DistributionNotFoundが出た場合の対処法

環境

  • OS: macOS Mojave 10.14.6
  • IDE: PyCharm 2018.3.7
  • Python: 3.6.5
  • Pipenv: 2018.11.26(Homebrewを使いインストール)

事象

PyCharmで仮想環境作成時、エラー画面「Error Running Pipenv」が表示。

Terminalでpipenvコマンド実行時も同様のエラーが発生。

トレースバックは以下。

Traceback (most recent call last):
  File "/usr/local/Cellar/pipenv/2018.11.26_2/libexec/bin/pipenv", line 6, in <module>
    from pkg_resources import load_entry_point
  File "/usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3241, in <module>
    @_call_aside
  File "/usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3225, in _call_aside
    f(*args, **kwargs)
  File "/usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3254, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pkg_resources/__init__.py", line 583, in _build_master
    ws.require(__requires__)
  File "/usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pkg_resources/__init__.py", line 900, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pkg_resources/__init__.py", line 786, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'pipenv==2018.11.26' distribution was not found and is required by the application

解決方法

pipenvを再インストールする。

brew reinstall pipenv

原因

不明。GitHubでも同様の事象が報告されている。

brew install spontaneously breaks requiring reinstall · Issue #4013 · pypa/pipenv

その他参考URL

python - pkg_resources.DistributionNotFound: The 'pipenv==2018.10.13' distribution was not found and is required by the application - Stack Overflow