「numpy.core.multiarray failed to import」の原因と対処

結論を先に。NumPy 2.0 と、NumPy 1.x 向けにビルドされた古いパッケージ(torch・OpenCV・pandas など)が衝突しているのが原因です。NumPy を 1 系に戻すか、各パッケージを 2.0 対応版に上げれば直ります。

ImportError: numpy.core.multiarray failed to import
A module that was compiled using NumPy 1.x cannot be run in NumPy 2.x

原因

NumPy 2.0 は内部に破壊的な変更があり、NumPy 1.x の前提でビルドされたパッケージが読み込めなくなります。環境を更新したときに NumPy だけ 2.0 になってしまうと起きやすいです。

対処

  1. すぐ直したいなら、NumPy を 1 系に固定する。
pip install "numpy<2"
  1. 本筋は、依存パッケージを NumPy 2.0 対応版に上げる。
pip install -U numpy torch opencv-python pandas
  1. どのパッケージが未対応か、エラーメッセージに出るモジュール名で見当をつけ、それを最新にします。

まとめ

  • 原因は NumPy 2.0 と 1.x 向けパッケージの衝突
  • 応急処置は pip install "numpy<2"
  • 本筋は依存をまとめて最新(2.0 対応)に上げる
  • エラー文のモジュール名で未対応パッケージを特定する