そりゃないよPython 安易なアップデートでエラーが出ちゃった編
不幸の始まり、それはアップデート
前回作成したPythonプログラムの更新を行っている最中に、print文の挙動が不安定なことに気がつきました。
変数の中身を表示させた際に、表示の形式が変わってしまうのです。
そこで、Python環境のアップデートを実行しました。
conda update --all
これが不幸の始まりでした。
Pythonプログラムを実行するとエラーが…
Python環境のアップデートにより、print文の問題が解決するどころか、以下のエラーが出るようになってしまいました。
> python filename.py
(中略)
ImportError: this version of pandas is incompatible with numpy < 1.22.4
your numpy version is 1.21.5.
Please upgrade numpy to >= 1.22.4 to use this pandas version
(中略)
どうやら、私のPython環境で使用しているpandasとnumpyのバージョン関係が不適切だということらしいのです。
pandas(Version 2.1.4)とnumpy(Version 1.21.5)は、先のアップデートコマンド実行時にバージョンアップされたようです。
現時点でのpandasとnumpyの最新リリースバージョンを確認したところ、下記の通りでした。
現時点でのpandasとnumpyの最新リリースバージョン
pandas: Version 2.2.1(February 22, 2024)
numpy: Version 1.26.0(September 16, 2023)
先ほどPython環境のアップデートを行ったばかりですが、どちらも最新バージョンではないようです。
上記のエラーメッセージによれば、numpyのバージョンを1.22.4以上にアップデートすれば良いはず。
しかし、最新バージョンが1.26.0だとすると、どのバージョンを選択すべきか迷います。
とりあえず、現状でアップデート可能なnumpyのバージョンを調べてみると、以下の通りでした。
> conda search numpy -c conda-forge
Loading channels: done
# Name Version Build Channel
numpy 1.22.4 py310hed7ac4c_0 conda-forge
(中略)
numpy 1.23.0 py310h8a5b91a_0 conda-forge
(中略)
numpy 1.23.1 py310h6d2d95c_0 pkgs/main
(中略)
numpy 1.23.2 py310h8a5b91a_0 conda-forge
(中略)
numpy 1.23.3 py310h4a8f9c9_0 conda-forge
(中略)
numpy 1.23.4 py310h4a8f9c9_0 conda-forge
(中略)
numpy 1.23.5 py310h4a8f9c9_0 conda-forge
(中略)
numpy 1.24.0 py310h4a8f9c9_0 conda-forge
(中略)
numpy 1.24.1 py310h4a8f9c9_0 conda-forge
(中略)
numpy 1.24.2 py310hd02465a_0 conda-forge
(中略)
numpy 1.24.3 py310h055cbcc_1 pkgs/main
(中略)
numpy 1.24.4 py310hd02465a_0 conda-forge
(中略)
numpy 1.25.0 py310h055cbcc_0 pkgs/main
(中略)
numpy 1.25.1 py310hd02465a_0 conda-forge
(中略)
numpy 1.25.2 py310h055cbcc_0 pkgs/main
(中略)
numpy 1.26.0 py310h055cbcc_0 pkgs/main
(中略)
numpy 1.26.2 py310h055cbcc_0 pkgs/main
(中略)
numpy 1.26.3 py310h055cbcc_0 pkgs/main
(中略)
numpy 1.26.4 py310h055cbcc_0 pkgs/main
(中略)
いきなり最新バージョンにアップデートすると、また新たな問題が起こるかもしれません。
このため、指示には最低限度で従うこととし、Version 1.22.4にアップデートすることにしました。
エラーの原因とされるnumpyをアップデート
> conda install numpy=1.22.4 -c conda-forge
numpyのアップデートが正常に終了し、Anacondaでnumpyのバージョンが1.22.4になっていることを確認しました。
続いて、前回作成したPythonプログラムを実行したところ、無事、正常に実行することができました。
しかし、Pythonの各種ライブラリに関するバージョン管理がややこしいので、わざわざAnacondaを使用していたのですが…。
残念ながら、今回は罠にはまってしまいました。
Python環境は、気軽にアップデートするものではないということを学びました。
この記事が気に入ったらサポートをしてみませんか?