エラーが出た経緯
ローカル環境で、Pythonのライブラリをインストールする際にインストール可能なバージョンを確認しようと、次のコマンドを実行しました。
pip install pandas==
ところが、以下のエラーが出力されてしまいました。
ERROR: Invalid requirement: 'pandas==': Expected end or semicolon (after name and no valid version specifier)
pandas==
^
あれ?前にやったときは動いたような気がするけど…?
というわけで、なぜエラーになるのかを調べた結果と、インストール可能なバージョンを確認する正しい方法について記載します。
なぜエラーになるのか?
結論から言うと、pip install pandas==
のようにバージョン指定なしで実行すると 不完全な指定」とみなされる ためエラーになります。
この指定方法は以前から非推奨だったようで、リリースノートでいつから使用できなくなったのかは見つけられませんでしたが、少なくともpip ver.24以降は使えなくなっているようです。
その代わりに、pipのバージョン21.2以降はpip index version
が使用できるようになっており、このコマンドを実行することでインストール可能なバージョンが確認できます。
インストール可能なバージョンを確認する方法
方法①: pip index versions
を使う
以下のコマンドで、指定したライブラリのインストール可能なバージョン一覧を確認できます。
pip index versions ライブラリ名
例として pandas
の場合:
% pip index versions pandas
実行結果:
pandas (2.2.3)
Available versions: 2.2.3, 2.2.2, 2.2.1, 2.2.0, 2.1.4, 2.1.3, 2.1.2, 2.1.1, 2.1.0, 2.0.3, 2.0.2, 2.0.1, 2.0.0, 1.5.3, 1.5.2, 1.5.1, 1.5.0, 1.4.4, 1.4.3, 1.4.2, 1.4.1, 1.4.0, 1.3.5, 1.3.4, 1.3.3, 1.3.2, 1.3.1, 1.3.0, 1.2.5, 1.2.4, 1.2.3, 1.2.2, 1.2.1, 1.2.0, 1.1.5, 1.1.4, 1.1.3, 1.1.2, 1.1.1, 1.1.0, 1.0.5, 1.0.4, 1.0.3, 1.0.2, 1.0.1, 1.0.0, 0.25.3, 0.25.2, 0.25.1, 0.25.0, 0.24.2, 0.24.1, 0.24.0, 0.23.4, 0.23.3, 0.23.2, 0.23.1, 0.23.0, 0.22.0, 0.21.1, 0.21.0, 0.20.3, 0.20.2, 0.20.1, 0.20.0, 0.19.2, 0.19.1, 0.19.0, 0.18.1, 0.18.0, 0.17.1, 0.17.0, 0.16.2, 0.16.1, 0.16.0, 0.15.2, 0.15.1, 0.15.0, 0.14.1, 0.14.0, 0.13.1, 0.13.0, 0.12.0, 0.11.0, 0.10.1, 0.10.0, 0.9.1, 0.9.0, 0.8.1, 0.8.0, 0.7.3, 0.7.2, 0.7.1, 0.7.0, 0.6.1, 0.6.0, 0.5.0, 0.4.3, 0.4.2, 0.4.1, 0.4.0, 0.3.0, 0.2, 0.1
方法②: PyPI のウェブサイトで確認
PyPI の公式サイトで直接確認する方法もあります。
- PyPI のプロジェクトページにアクセス
https://pypi.org/project/pandas/ - 「Release History」のセクションでインストール可能なバージョンを確認できます。
まとめ
pip install
を使ってライブラリをインストールする際、バージョン指定をしないとエラーになります。インストール可能なバージョンを確認したい場合は以下の方法を使いましょう!
pip index versions ライブラリ名
- PyPI サイトで確認する
参考リンク