m1macのconda環境でpandasのimportが失敗した話
表題の通りです。
m1mac、いいですよね。Intel版よりも安くて高性能。
その一方で従来のアプリケーションの対応がとれず、今回もその憂き目に会ってしまったみたい。
問題
pandasのimportが上手くいきません。
conda環境を使っていますが、インストールはできました(conda install pandas
)。
それなのにpythonを実行するとimportができません。
エラーメッセージもなんだかいつもと違って面倒そう・・・
>>> import pandas
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/username/.anyenv/envs/pyenv/versions/miniforge3-4.10/envs/sleep-quality/lib/python3.9/site-packages/pandas/__init__.py", line 16, in <module>
raise ImportError(
ImportError: Unable to import required dependencies:
numpy:
IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!
Importing the numpy C-extensions failed. This error can happen for
many reasons, often due to issues with your setup or how NumPy was
installed.
We have compiled some common reasons and troubleshooting tips at:
https://numpy.org/devdocs/user/troubleshooting-importerror.html
Please note and check the following:
* The Python version is: Python3.9 from "/Users/username/.anyenv/envs/pyenv/versions/miniforge3-4.10/envs/sleep-quality/bin/python"
* The NumPy version is: "1.21.1"
and make sure that they are the versions you expect.
Please carefully study the documentation linked above for further help.
Original error was: dlopen(/Users/username/.anyenv/envs/pyenv/versions/miniforge3-4.10/envs/sleep-quality/lib/python3.9/site-packages/numpy/core/_multiarray_umath.cpython-39-darwin.so, 2): Library not loaded: @rpath/libcblas.3.dylib
Referenced from: /Users/username/.anyenv/envs/pyenv/versions/miniforge3-4.10/envs/sleep-quality/lib/python3.9/site-packages/numpy/core/_multiarray_umath.cpython-39-darwin.so
Reason: image not found
解決策
結論から言いますと、install文をこちらに変更することで解決できました。
conda install -c conda-forge conda-forge::pandas
原因
stack overflowを参考にしました。
チャネルミキシングが原因とかなんとか。
複数のconda仮想環境を作った際に、ライブラリのインストール元を厳密に指定しないと正しいバージョンが入手できない、的なことだと解釈しました(違ったらご指摘していただけると嬉しいです)。
環境
OS: macOS Big Sur バージョン11.5.2
pythonバージョン: python3.9.6
環境: anyenv -> pyenv -> miniforge3-4.10の仮想環境
解決までの道のり
再インストール
ひとまずエラー文をなんとなく眺めるとnumpyが悪さをしている?
conda uninstall numpy pandas
した後にconda install numpy pandas
numpyとpandasを再インストールすることに
->同様のエラーで失敗・・・
環境に色々なライブラリを入れていたせい?
conda remove -n <env-name> --all
して環境を再構築してnumpyとpandasを再インストール
->同様のエラーで失敗・・・
##ggった結果
ちゃんとエラー文を読んでみるとLibrary not loaded: @rpath/libcblas.3.dylib
が原因のよう。
なのでこのエラーをggってみることに。
1件目
アップデートやクリーンに関することがあったので実行したものの同様のエラーで失敗・・・
2件目
求めていたことに近そうだったものの、実行方法がわからず時間がかかりそうだったために一時断念・・・
3件目
上述したここにたどり着いてなんとか解決