学びをアウトプットするブログ

Pythonのpipのバージョンを9から10にアップグレードするとpipが使えなくなるので修正した

環境はUbuntu18.04のデスクトップで最初からインストールされているPython3.6.5を利用している。 pipが入っていないのでインストールする。

$ sudo apt install python3-pip
$ pip install --upgrade pip

これでpipのバージョンを10に出来るが、この後 pip コマンドそのものが利用できなくなる。 なにこれ。

ImportError: cannot import name main

なんのこっちゃって感じなんですけど。 それで色々と調べてみる。

参考サイト

参考サイトを参照して直せばいいかとも思ったのですが、そうじゃなくて、最初からpip 10を入れ直せばいいんじゃないかと思い付き実行。 ここは公式を参照Installation - pip10documentation

$ sudo apt uninstall python3-pip
$ sudo apt install curl
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
$ sudo python3 get-pip.py
$ pip --version
$ pip 10.0.1 from /usr/local/lib/python3.6/dist-packages/pip (python 3.6)

追記 インストールでエラーがおきた

WSLのubutu18.04にインストールしようとしたらエラーがでた。

ImportError: cannot import name 'sysconfig'

これの解決策をググると、どうもパッケージが足りないようです。

$ sudo apt install python3-distutils

これで解決。詳しくはImportError: cannot import name 'sysconfig'を参照ください。

これでインストール完了。 なんだか手こずりますね。

再インストールしたくない場合は

# コマンド名に対応する記憶を削除する
$ hash -d pip
# ハッシュテーブルに記憶しているパス情報を消去する
$ hash -r pip

のどちらかでいけるようです。(試していませんw)