Si je fais simplement:
import lightgbm as lgb
Je suis en train
python script.py
Traceback (most recent call last):
File "script.py", line 4, in <module>
import lightgbm as lgb
File "/usr/local/lib/python2.7/site-packages/lightgbm/__init__.py", line 8, in <module>
from .basic import Booster, Dataset
File "/usr/local/lib/python2.7/site-packages/lightgbm/basic.py", line 31, in <module>
_LIB = _load_lib()
File "/usr/local/lib/python2.7/site-packages/lightgbm/basic.py", line 26, in _load_lib
lib = ctypes.cdll.LoadLibrary(lib_path[0])
File "/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 440, in LoadLibrary
return self._dlltype(name)
File "/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 362, in __init__
self._handle = _dlopen(self._name, mode)
OSError: dlopen(/usr/local/lib/python2.7/site-packages/lightgbm/lib_lightgbm.so, 6): Library not loaded: /usr/local/opt/gcc/lib/gcc/7/libgomp.1.dylib
Referenced from: /usr/local/lib/python2.7/site-packages/lightgbm/lib_lightgbm.so
Reason: image not found
Il me semble que tout est installé correctement:
python -m pip install lightgbm
Requirement already satisfied: lightgbm in /usr/local/lib/python2.7/site-packages
Requirement already satisfied: wheel in /usr/local/lib/python2.7/site-packages (from lightgbm)
Requirement already satisfied: scikit-learn in /usr/local/lib/python2.7/site-packages (from lightgbm)
Requirement already satisfied: scipy in /usr/local/lib/python2.7/site-packages (from lightgbm)
Requirement already satisfied: numpy in /usr/local/lib/python2.7/site-packages (from lightgbm)
J'ai un dossier 6 dans mon dossier GCC. Dois-je avoir besoin d'installer une autre version de GCC pour que cela fonctionne?
Je trouve un problème similaire ici LightGBM
La réponse et le commentaire peuvent vous aider.
Créez LightGBM sur Mac:
brew install cmake
brew install gcc --without-multilib
git clone --recursive https://github.com/Microsoft/LightGBM ; cd LightGBM
mkdir build ; cd build
cmake ..
make -j
Installez ensuite:
cd ../python-packages
Sudo python setup.py install --precompile
Comme indiqué par @ecodan, vous devrez peut-être forcer Mac à utiliser GCC et G ++ au lieu du compilateur par défaut. Donc, au lieu de construire avec cmake ..
, essayez:
cmake -DCMAKE_C_COMPILER=/usr/local/Cellar/gcc/6.1.0/bin/gcc-6 -DCMAKE_CXX_COMPILER=/usr/local/Cellar/gcc/6.1.0/bin/g++-6 ..
ajuster les versions en fonction des vôtres.
Toutes les réponses ci-dessus n'ont pas fonctionné pour moi. Sur Mac, si j'ai installé la libomp à l'aide de brew, le problème a été résolu: Référez-vous: lien
brew install libomp
Sur MAC, vous devez installer open-mpi:
brew install open-mpi
Même erreur, source différente: il semble que j'avais la version gcc 8 installée, et elle a besoin de gcc 7.
Cela a fonctionné en le ramenant à la dernière version de gcc 7:
brew switch gcc 7.3.0_1
Pour les utilisateurs de macports, remplacez le début de la solution de brassage par:
port install gcc7 cmake
export CXX=g++-mp-7 CC=gcc-mp-7
Sur MacOS High Sierra avec MacPorts installé, j'ai fait ce qui suit:
clang-5.0
À l'aide de MacPorts/build
, Exécutez cmake -DCMAKE_CXX_COMPILER=clang++-mp-5.0 -DCMAKE_C_COMPILER=clang-mp-5.0 ..
/python_package
Et modifiez le script setup.py
. Vous devez modifier la fonction compile_cpp()
au toute fin qui vérifie la casse pour d'autres OS (y compris Mac). Avant la silent_call(...)
, ajoutez les deux lignes suivantes: cmake_cmd.append("-DCMAKE_CXX_COMPILER=clang++-mp-5.0") cmake_cmd.append("-DCMAKE_C_COMPILER=clang-mp-5.0")
Sudo python setup.py install
. Prendre plaisirJ'ai utilisé cette commande générée à partir de PyCharm et cela a fonctionné pour moi.
conda install -p {<= remplacer par USER_HOME_DIR>}/anaconda3 lightgbm -y
Remarque: j'ai essayé l'installation de Brew et pip, mais cela n'a pas fonctionné pour moi car Azure ML studio a déjà téléchargé d'autres versions de LightGBM qui causaient des conflits lors de la mise à niveau vers les packages corrects.