6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

m1macのconda環境でpandasのimportが失敗した話

Posted at

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 pandasnumpyとpandasを再インストールすることに
->同様のエラーで失敗・・・

環境に色々なライブラリを入れていたせい?
conda remove -n <env-name> --allして環境を再構築してnumpyとpandasを再インストール
->同様のエラーで失敗・・・

##ggった結果
ちゃんとエラー文を読んでみるとLibrary not loaded: @rpath/libcblas.3.dylibが原因のよう。
なのでこのエラーをggってみることに。

1件目

アップデートやクリーンに関することがあったので実行したものの同様のエラーで失敗・・・

2件目

求めていたことに近そうだったものの、実行方法がわからず時間がかかりそうだったために一時断念・・・

3件目

上述したここにたどり着いてなんとか解決

6
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?