見出し画像

そりゃないよ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環境は、気軽にアップデートするものではないということを学びました。

この記事が気に入ったらサポートをしてみませんか?