🥲

【Python】numpyがインポートできない問題が意外なところで解決した話

2024/09/08に公開

初投稿&駄文で失礼します。

会社の研修でPythonを選択してみてある程度のことはできるようになったと勘違いしていた時に直面したエラー。

ImportError: Error importing numpy: you should not try to import numpy from
        its source directory; please exit the numpy source tree, and relaunch
        your python interpreter from there.

このエラー文をGoogle翻訳にかけてみるとこうなります。

直訳:ImportError: numpy のインポート エラー: numpy をソース ディレクトリからインポートしないでください。numpy ソース ツリーを終了し、そこから Python インタープリターを再起動してください。

とのこと。今回作業しているのはUser/(ユーザー名)/Dev/ で、numpyが置いてあるのは「/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages」です。

pip経由で入れているパッケージは大体ここに入っているのではないかと思うのですが、気になる場合は「pip3 show (パッケージ名)」で調べます。

自分のやっていることとエラー文の指していることが一致していないようで半日以上このエラーと戦ってました。

結果、意外なところで解決しました。しばらくは他のライブラリの勉強をしようと思い、まずは作業ディレクトリのファイル名を綺麗に整理したところ、Numpyを利用したスクリプトが無事実行できたのです。

原因解明:作業ディレクトリに「datetime.py」というファイルがあったことが原因でした。

datetimeモジュールと同名のファイルが原因っぽいのでdatetime.pydate_time.pyに変更したところ、エラーは出ずすんなりと進みました。

初心者なりの推測ではありますが、標準モジュールと同名のファイルが作業ディレクトリにあったことでPython側が作業ディレクトリと参照先を勘違いしてしまったのではないかと思います。

Discussion