pipが使えなくなったときの対策

pipの要求どおりにアップデートするとpipが使えなくなった

問題

pythonのrequestsモジュールをインストールしようとしたところ、pipをアップデートするように要求された。
指示通りに以下のようにアップデートを実行
pip install --upgrade pip3

いつものようにpipでインストールを実行すると
pip3 install requests
以下のようにエラーが発生
raceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2416, in resolve
    return functools.reduce(getattr, self.attrs, module)
AttributeError: module 'pip' has no attribute 'main'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/bin/pip3", line 11, in <module>
    load_entry_point('pip==9.0.1', 'console_scripts', 'pip3')()
  File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 572, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2755, in load_entry_point
    return ep.load()
  File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2408, in load
    return self.resolve()
  File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2418, in resolve
    raise ImportError(str(exc))
ImportError: module 'pip' has no attribute 'main'

対策

以下のように再インストールで解決しました。
sudo python3 -m pip install --force-reinstall --upgrade pip

詳しいことは分かりませんが、pipのバージョンにより'main'の扱いが変わったことに起因するらしい。

0 件のコメント:

コメントを投稿

注目の投稿

pmsetの使い方とmacのスリープ解除スケジュール化

pmsetの使い方 電源管理スケジュールの確認 ターミナルで以下のコマンドを実行し、現在設定されている電源管理のスケジュールを確認できる。 pmset -g sched > Repeating power events: > wakepoweron at ...