「module 'numpy' has no attribute 'object'」の対処
結論を先に。NumPy 1.24 以降で np.object や np.int、np.float などの非推奨エイリアスが削除されたのが原因です。np.object は組み込みの object(または np.object_)に書き換えれば直ります。自分のコードでなく古いライブラリが使っているなら、そのライブラリを更新します。
AttributeError: module 'numpy' has no attribute 'object'原因
np.object np.int np.float np.bool np.str といった別名は長く非推奨でしたが、NumPy 1.24 で正式に削除されました。これらを使っているコードやライブラリが、新しい NumPy 上で動かなくなります。
対処
- 自分のコードなら、組み込み型または具体的な型に置き換える。
# np.object -> object# np.int -> int (配列の型なら np.int64 など)# np.float -> float(または np.float64)# np.bool -> bool (または np.bool_)- 自分でなく依存ライブラリが使っているなら、そのライブラリを最新版に上げる。
pip install -U そのパッケージ名- すぐ回避したいだけなら、NumPy を 1.23 系に固定する(応急処置)。
pip install "numpy<1.24"まとめ
- 原因は NumPy 1.24 での
np.object等のエイリアス削除 - 自分のコードは組み込み型(object/int/float/bool)に置換
- 古いライブラリが原因ならそれを更新する
- 応急処置は
pip install "numpy<1.24"