前提・実現したいこと
PythonでPycaretをインポートしたときにエラーが発生しました。
こちらの解決策をご存じの方いらっしゃいますでしょうか。
発生している問題・エラーメッセージ
--------------------------------------------------------------------------- OSError Traceback (most recent call last) Input In [27], in <cell line: 1>() ----> 1 from pycaret.regression import * File ~/opt/anaconda3/envs/pycaret_1/lib/python3.9/site-packages/pycaret/regression.py:10, in <module> 7 import pandas as pd 8 import numpy as np ---> 10 import pycaret.internal.tabular 11 from pycaret.internal.Display import Display, is_in_colab, enable_colab 12 from typing import List, Tuple, Any, Union, Optional, Dict File ~/opt/anaconda3/envs/pycaret_1/lib/python3.9/site-packages/pycaret/internal/tabular.py:48, in <module> 46 import pycaret.containers.models.clustering 47 import pycaret.containers.models.anomaly ---> 48 import pycaret.internal.preprocess 49 import pandas as pd 50 import numpy as np File ~/opt/anaconda3/envs/pycaret_1/lib/python3.9/site-packages/pycaret/internal/preprocess.py:34, in <module> 32 from sklearn.ensemble import RandomForestClassifier as rfc 33 from sklearn.ensemble import RandomForestRegressor as rfr ---> 34 from lightgbm import LGBMClassifier as lgbmc 35 from lightgbm import LGBMRegressor as lgbmr 36 import sys File ~/opt/anaconda3/envs/pycaret_1/lib/python3.9/site-packages/lightgbm/__init__.py:8, in <module> 2 """LightGBM, Light Gradient Boosting Machine. 3 4 Contributors: https://github.com/microsoft/LightGBM/graphs/contributors. 5 """ 6 from pathlib import Path ----> 8 from .basic import Booster, Dataset, Sequence, register_logger 9 from .callback import early_stopping, log_evaluation, print_evaluation, record_evaluation, reset_parameter 10 from .engine import CVBooster, cv, train File ~/opt/anaconda3/envs/pycaret_1/lib/python3.9/site-packages/lightgbm/basic.py:110, in <module> 106 raise LightGBMError(lib.LGBM_GetLastError().decode('utf-8')) 107 return lib --> 110 _LIB = _load_lib() 113 NUMERIC_TYPES = (int, float, bool) 116 def _safe_call(ret: int) -> None: File ~/opt/anaconda3/envs/pycaret_1/lib/python3.9/site-packages/lightgbm/basic.py:101, in _load_lib() 99 if len(lib_path) == 0: 100 return None --> 101 lib = ctypes.cdll.LoadLibrary(lib_path[0]) 102 lib.LGBM_GetLastError.restype = ctypes.c_char_p 103 callback = ctypes.CFUNCTYPE(None, ctypes.c_char_p) File ~/opt/anaconda3/envs/pycaret_1/lib/python3.9/ctypes/__init__.py:460, in LibraryLoader.LoadLibrary(self, name) 459 def LoadLibrary(self, name): --> 460 return self._dlltype(name) File ~/opt/anaconda3/envs/pycaret_1/lib/python3.9/ctypes/__init__.py:382, in CDLL.__init__(self, name, mode, handle, use_errno, use_last_error, winmode) 379 self._FuncPtr = _FuncPtr 381 if handle is None: --> 382 self._handle = _dlopen(self._name, mode) 383 else: 384 self._handle = handle OSError: dlopen(/Users/k.hiroto/opt/anaconda3/envs/pycaret_1/lib/python3.9/site-packages/lightgbm/lib_lightgbm.so, 0x0006): Library not loaded: /usr/local/opt/libomp/lib/libomp.dylib Referenced from: /Users/k.hiroto/opt/anaconda3/envs/pycaret_1/lib/python3.9/site-packages/lightgbm/lib_lightgbm.so Reason: tried: '/usr/local/opt/libomp/lib/libomp.dylib' (no such file), '/usr/local/lib/libomp.dylib' (no such file), '/usr/lib/libomp.dylib' (no such file)
該当のソースコード
from pycaret.regression import *
試したこと
brew install libomp は行いました。
> '/usr/local/opt/libomp/lib/libomp.dylib' (no such file), '/usr/local/lib/libomp.dylib' (no such file), '/usr/lib/libomp.dylib' (no such file)
上記を探したけど、どれも見つからない、とのこと
> brew install libomp は行いました。
それでしたら、「libomp.dylib」というファイル名のファイルがどこかにインストールされてると思いますので、探してみてください
インストールされた場所と、「.../python3.9/site-packages/lightgbm/lib_lightgbm.so」が探してる場所が違ってるのではないですかね
brew install libomp
の後で、「lightgbm」をアンインストール→インストールで、直るかも
https://qiita.com/ryryry/items/917d3da1bf028ced1468
ありがとうございます!
lightgbmの再インストールはダメでした、、
「libomp.dylib」というファイルはありました!
このファイルを「.../python3.9/site-packages/lightgbm/lib_lightgbm.so」と同じディレクトリに入れれば良いのでしょうか?
> '/usr/local/opt/libomp/lib/libomp.dylib' (no such file), '/usr/local/lib/libomp.dylib' (no such file), '/usr/lib/libomp.dylib' (no such file)
の三箇所のどこかに置けば使われると思いますが、「/usr/lib」には置かない方がいいので、残りの二箇所のどちらかですね
technocoreさんの回答の内容で、解決しませんか?
解決したなら、technocoreさんの回答をベストアンサーにしましょう

回答1件
あなたの回答
tips
プレビュー