LoginSignup
1
1

More than 3 years have passed since last update.

JuliaでPyPlot使おうとしたらMKLがどうとかエラーした

Last updated at Posted at 2021-04-29

エラーの内容

JuliaでPyPlotを使おうと,using PyPlotってやるとカーネルが落ちる(Macで起動したJupyte lab上で)。

INTEL MKL ERROR: dlopen(/Users/travis/.julia/conda/3/lib/libmkl_intel_thread.dylib, 9): Library not loaded: @rpath/libiomp5.dylib

  Referenced from: /Users/travis/.julia/conda/3/lib/libmkl_intel_thread.dylib

  Reason: image not found.

Intel MKL FATAL ERROR: Cannot load libmkl_intel_thread.dylib.

エラーメッセージは上みたいな感じ。ネットから拾ってきたから,ホームの名前が若干が違うが,内容的には同じ。

現状の対応

これが正解かよくわからないが,とりあえず,以下の対応で直った気がする。

Juliaが使っているcondaでmklのバージョンを2019.4にする。

$ $HOME/.julia/conda/3/bin/conda install mkl==2019.4

mklのバージョンが2021になっていると,エラーが出ていた様子。少し古いバージョンに戻すとエラーがとりあえず,出なくなった。

とりあえずやったこと

Juliaの再インストール

homebrewから再度インストールが効果なし。

.juliaディレクトリを消して,PyPlotを入れ直す

ホームのなかにある.juliaディレクトリを削除してから,PyPlotのライブラリをadd。

PyPlotを最初にusing PyPlotするときにはエラーがでないが,REPLを一旦終わって,再度using PyPlotしようとするとエラーした。よくわからない。

Pyenvの環境を消して,再インストール。Python環境を作り直した。

Pythonの環境はシステム上で設定(Pyenvで設定)したPythonが使われていると思っていたので,入れ直してみた。Julia内で独自にCondaを使っているので,関係なかった。

JuliaのENV["PYTHON"]で設定するPATHがJuliaが独自につかうPythonのPATH設定だったことを学んだ。

.condaディレクトリを削除してから,PyPlotを入れ直す

これも関係ない。

LD_LIBRARY_PATHにJulia内で使うCondaのライブラリのPATHを追加

最初のエラーを検索すると,結構出てくる。Julia関係なしのPythonだけの話だといっぱい出てくる。
検索した中にこんな情報があった。
https://github.com/JuliaPy/Conda.jl/issues/182#issuecomment-813023645

ライブラリがないというなら,PATHを通す。

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/.julia/conda/3/lib

実際これをやってから,Juliaを起動するとエラーがでなくなった。

ただ,Jupyter labを起動して,using PyPlotってやるとエラーがでる。Jupyter labはターミナルのPATH設定を反映してくれるわけではないんだなということを学んだ。

で,ほぼ同じ環境でエラーが出ないMacBook Airの設定を見ていて,mklのバージョンが違うことを発見して,mklのバージョン変更して,今に至る。

1
1
2

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
1
1