Python 2.7 はすでに EOL を迎えており Python 3 への移行が推奨されています。 1
とはいえ手元には Python 3 に対応していないコードがあり動かし続ける必要があります。
この記事では最新の pip でサポートされなくなった Python 2.7 環境に pip 20.3.4 をインストールする手順を紹介します。
経緯
pip は 2021 年 1 月 23 日にリリースした 21.0 から Python 2 サポートを終了しました。
Note: pip 21.0, in January 2021, removed Python 2 support, per pip's Python 2 support policy. Please migrate to Python 3.
https://github.com/pypa/pip より引用
これに伴い pip をインストールする際に使用する get-pip.py スクリプトも Python 2 では動かなくなりました。
当初は SyntaxError が発生 2 3 していましたが、 2022 年 2 月 20 日時点だと次のようなメッセージが表示されます。
# curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
# python get-pip.py
ERROR: This script does not work on Python 2.7 The minimum supported Python version is 3.7. Please use https://bootstrap.pypa.io/pip/2.7/get-pip.py instead.
実際にはこのメッセージに書かれている URL からさらに移動していますが、しばらくしたら修正されるのではないかと思います。 4
インストール手順 (a)
Python 2.7 用の get-pip.py は次の URL に移動しました。
# curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -o get-pip.py
# python get-pip.py
移動後の URL は Stack Overflow の次のコメントで紹介されていました。
現在は最新の get-pip.py を実行した際のエラーメッセージでも表示されています。
インストール手順 (b)
pip の wheel ファイルをダウンロードしてインストールします。
curl で指定している URL は pip 20.3.4 の Download files に掲載されている wheel ファイルの URL です。
# curl -O https://files.pythonhosted.org/packages/27/79/8a850fe3496446ff0d584327ae44e7500daf6764ca1a382d2d02789accf7/pip-20.3.4-py2.py3-none-any.whl
# python pip-20.3.4-py2.py3-none-any.whl/pip install --no-index pip-20.3.4-py2.py3-none-any.whl
この手順は Stack Overflow の次のコメントで紹介されていました。
Python はもともと zip ファイルを指定して実行することが可能であり wheel ファイルの実態は zip 形式のアーカイブであることから前述の手順でインストールできるようです。