pip upgrade したら ImportError: module 'pip' has no attribute 'main'となってつんだ話

なんでこうなった?

pipコマンドをいつものように叩いていたら

You are using pip version 9.0.3, however version 10.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

といわれた、バカな僕は言われるがままに実行してしまった。

起こった問題

どんなpipコマンドを叩いても以下のようなエラーメッセージが出てしまい、何もできなくなった。

Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2332, 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.3', 'console_scripts', 'pip3')()
  File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 480, 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 2693, in load_entry_point
    return ep.load()
  File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2324, in load
    return self.resolve()
  File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2334, in resolve
    raise ImportError(str(exc))
ImportError: module 'pip' has no attribute 'main'
[~] curl https://bootstrap.pypa.io/get-pip.py | py

原因と解決策

いろいろ調べてみるとpip 10.0.0以降はpip.main()を提供していないらしい。
なんで…と思いながらpipのversionを下げるために以下のコマンドを実行

sudo python -m pip install --upgrade pip==9.0.3

これで無事に動くようになりました!!

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.