pipが消えた
皆さんはPythonをどのように使っているでしょうか。私はWindows本体だけでなく、WSLにもPythonをインストールして使っています。
ある日、WSL上でPythonを使っていたら「モジュールが見つからない」と言われました。
そこでいつものようにpip3 install
を試すと、次のように怒られました。
コマンド 'pip3' が見つかりません。次の方法でインストールできます:
sudo apt install python3-pip
これまで何度もPython3を使ってきて、pip3
を入れていないはずがありません。何かが起きた結果、pip3
が消えてしまったようです。環境を示した上で、答え合わせします。
利用環境
PS C:\Users\user> wsl --version
WSL バージョン: 2.5.9.0
カーネル バージョン: 6.6.87.2-1
WSLg バージョン: 1.0.66
MSRDC バージョン: 1.2.6074
Direct3D バージョン: 1.611.1-81528511
DXCore バージョン: 10.0.26100.1-240331-1435.ge-release
Windows バージョン: 10.0.26100.4770
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.4 LTS"
原因
原因は単純で、私がPython2用のpip(pip2)をインストールしたからでした。
以前、BiCGSTAB法のコードを探していた時に、Python2で書かれたサンプルコードを利用したためです。Python3に書き換えればよかったのですが、めんどくさかったまずはオリジナルを動かして検証したかったので、そのままpip2を入れました。
pip2をインストールすると、以下のメッセージが出ます。
$ sudo apt install python-pip
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了
状態情報を読み取っています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
python3-wheel
これを削除するには 'sudo apt autoremove' を利用してください。
推奨パッケージ:
python2-dev
以下のパッケージは「削除」されます:
python3-pip
以下のパッケージが新たにインストールされます:
python-pip
アップグレード: 0 個、新規インストール: 1 個、削除: 1 個、保留: 451 個。
1,021 kB のアーカイブを取得する必要があります。
この操作後に 2,154 kB のディスク容量が解放されます。
取得:1 http://archive.ubuntu.com/ubuntu jammy/universe amd64 python-pip all 20.3.4+dfsg-4 [1,021 kB]
1,021 kB を 3秒 で取得しました (340 kB/s)
(データベースを読み込んでいます ... 現在 202042 個のファイルとディレクトリがインストールされています。)
python3-pip (22.0.2+dfsg-1ubuntu0.6) を削除しています ...
以前に未選択のパッケージ python-pip を選択しています。
(データベースを読み込んでいます ... 現在 201358 個のファイルとディレクトリがインストールされています。)
.../python-pip_20.3.4+dfsg-4_all.deb を展開する準備をしています ...
python-pip (20.3.4+dfsg-4) を展開しています...
python-pip (20.3.4+dfsg-4) を設定しています ...
man-db (2.10.2-1) のトリガを処理しています ...
つまり、pip2(python-pip)を入れるとpip3(python3-pip)が削除される仕様だったのです。
私がメッセージを確認せずに実行した結果、pip3が消えてしまいました。逆にpip3を入れるとpip2が削除されるため、両方を共存させることはできません。
まとめ
Ubuntu24.04からpython2
が完全削除されるため、この現象に遭遇する状況自体、殆ど無いと思います。とはいえ、メッセージはきちんと確認するべきです。この教訓を刻んでおきます。