Xgboost: Pip-Installationsfehler

Erstellt am 2. Sept. 2015  ·  72Kommentare  ·  Quelle: dmlc/xgboost

root@0c6c17725a7b :/# pip installiere xgboost
Herunterladen/Entpacken von xgboost
Es konnte keine Version gefunden werden, die die Anforderung xgboost erfüllt (ab Versionen: 0.4a12, 0.4a13)
Aufräumen...
Keine Distributionen, die der Version für xgboost entsprechen
Speichern des Debug-Protokolls für Fehler in /root/.pip/pip.log

Sie können im Docker wiederholen mit:
docker run -it --rm ubuntu:trusty

apt-get update
apt-get install python-pip
pip install xgboost

siehe auch das:

http://stackoverflow.com/questions/32258463/install-xgboost-under-python-failing

Hilfreichster Kommentar

Ich musste es von Grund auf neu bauen:

git clone --recursive https://github.com/dmlc/xgboost.git  
cd xgboost  
./build.sh
pip install -e python-package  

Alle 72 Kommentare

Scheint bei mir nicht zu funktionieren

ubuntu@ip-172-31-11-169 :~$ sudo apt-get update
... jada jada
ubuntu@ip-172-31-11-169 :~$ sudo apt-get install python-pip
Paketlisten lesen... Fertig
Abhängigkeitsbaum erstellen
Zustandsinformationen lesen... Fertig
python-pip ist bereits die neuste Version.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 74 nicht aktualisiert.
ubuntu@ip-172-31-11-169 :~$ sudo pip install xgboost
Herunterladen/Entpacken von xgboost
Es konnte keine Version gefunden werden, die die Anforderung xgboost erfüllt (ab Versionen: 0.4a12, 0.4a13)
Aufräumen...
Keine Distributionen, die der Version für xgboost entsprechen
Speichern des Debug-Protokolls für Fehler in /home/ubuntu/.pip/pip.log
ubuntu@ip-172-31-11-169 :~$

Der Stackoverflow-Vorschlag von --pre erzeugte Folgendes:

ubuntu@ip-172-31-11-169 :~$ sudo pip install --pre xgboost
Herunterladen/Entpacken von xgboost
Herunterladen von xgboost-0.4a13.tar.gz (690 KB): 690 KB heruntergeladen
Ausführen von setup.py (Pfad:/tmp/pip_build_root/xgboost/setup.py) egg_info für Paket xgboost
xgboost/build-python.sh: 13: xgboost/build-python.sh: pushd: nicht gefunden
make: * Keine Regel, um das Ziel python'. Stop. ----------------------------- Building multi-thread xgboost failed Start to build single-thread xgboost make: *** No rule to make target sauber zu machen'.
Stoppen.Erstellen Sie erfolgreich Single-Thread-xgboostWenn Sie eine Multithread-Version wünschenWeitere Anweisungen finden Sie in doc/build.mdxgboost/build-python.sh: 26: xgboost/build-python.sh: popd: nicht gefunden(Keine, keine)Traceback (letzter Aufruf zuletzt):Datei "“, Zeile 17, in


init .py", Zeile 8, in








self._handle = _dlopen(self._name, Modus)
OSError: /tmp/pip_build_root/xgboost/xgboost/./wrapper/libxgboostwrapper.so: Ungültiger ELF-Header
Vollständige Ausgabe des Befehls python setup.py egg_info:
xgboost/build-python.sh: 13: xgboost/build-python.sh: pushd: nicht gefunden

make: *** Keine Regel, um das Ziel `python' zu erstellen. Stoppen.


Erstellen von Multi-Thread-xgboost fehlgeschlagen

Beginnen Sie mit dem Erstellen von Single-Thread-xgboost

make: *** Keine Regel, um das Ziel `sauber' zu machen. Stoppen.

make: *** Keine Regel, um das Ziel `python' zu erstellen. Stoppen.

Erstellen Sie erfolgreich Single-Thread-xgboost

Wenn Sie eine Multithread-Version wünschen

Weitere Anweisungen finden Sie in doc/build.md

xgboost/build-python.sh: 26: xgboost/build-python.sh: popd: nicht gefunden

(Keine, keine)

Traceback (letzter Aufruf zuletzt):

Datei "“, Zeile 17, in

Datei "/tmp/pip_build_root/xgboost/setup.py", Zeile 20, in

import xgboost

Datei „./xgboost/ init .py“, Zeile 8, in

from .core import DMatrix, Booster

Datei "./xgboost/core.py", Zeile 78, in

_LIB = _load_lib()

Datei "./xgboost/core.py", Zeile 72, in _load_lib

lib = ctypes.cdll.LoadLibrary(lib_path[0])

Datei „ /usr/lib/python2.7/ctypes/init.py “, Zeile 443, in LoadLibrary

return self._dlltype(name)

Datei „ /usr/lib/python2.7/ctypes/init.py “, Zeile 365, in init

self._handle = _dlopen(self._name, mode)

OSError: /tmp/pip_build_root/xgboost/xgboost/./wrapper/libxgboostwrapper.so: Ungültiger ELF-Header


Aufräumen...
Befehl python setup.py egg_info ist mit Fehlercode 1 in /tmp/pip_build_root/xgboost fehlgeschlagen
Speichern des Debug-Protokolls für Fehler in /home/ubuntu/.pip/pip.log
ubuntu@ip-172-31-11-169 :~$

@cliveseldon @grfiv Die Versionierung der Pip-Installation hat einige Verwirrung, da die offizielle Version 0.4 schon lange da ist und die Pip-Installation einige aktuelle Updates aus dem Quellcode enthält, also habe ich die Version mit 0.4a12 0.4a13 genannt etwas. Es wird später ab der nächsten offiziellen Veröffentlichung korrigiert.

Eine gute Lösung für die Aktualisierung der pip-Installation kann das Löschen des xgboost-Verzeichnisses und des /User/phunterlau/python2.7/site-packages/ - print xgboost.__file__ -info-Verzeichnisses sein, beide aus dem Site-Paketverzeichnis, z

Hallo,
Ich habe das gleiche Problem auf meiner Ubuntu-Box:

Laufen :

sudo -H pip install --pre xgboost
python -c "import xgboost"

Scheitert wie folgt:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/xgboost/__init__.py", line 11, in <module>
    from .core import DMatrix, Booster
  File "/usr/local/lib/python2.7/dist-packages/xgboost/core.py", line 92, in <module>
    _LIB = _load_lib()
  File "/usr/local/lib/python2.7/dist-packages/xgboost/core.py", line 86, in _load_lib
    lib = ctypes.cdll.LoadLibrary(lib_path[0])
  File "/usr/lib/python2.7/ctypes/__init__.py", line 443, in LoadLibrary
    return self._dlltype(name)
  File "/usr/lib/python2.7/ctypes/__init__.py", line 365, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: /usr/local/lib/python2.7/dist-packages/xgboost/./wrapper/libxgboostwrapper.so: invalid ELF header

Ich habe es auch ohne versucht --pre , es schlägt identisch fehl.

Irgendeine Ahnung ?
Danke,
F.

Ich habe pip install xgboost verwendet, um xgboost-0.4a14 auf einem Mac OSX zu installieren. Als ich versuchte, es zu laden, bekam ich diesen Fehler.

OSError Traceback (letzter Aufruf zuletzt)
in()
----> 1 xgboost als xgb importieren

/Users/azaitzeff/anaconda/lib/python2.7/site-packages/xgboost/ init .py in()
9 os importieren
10
---> 11 von .core import DMatrix, Booster
12 von .training import train, cv
13 aus .sklearn import XGBModel, XGBClassifier, XGBRegressor

/Users/azaitzeff/anaconda/lib/python2.7/site-packages/xgboost/core.py in()
90
91 # Laden Sie die XGBoost-Bibliothek global
---> 92 _LIB = _load_lib()
93
94 def _check_call(ret):

/Users/azaitzeff/anaconda/lib/python2.7/site-packages/xgboost/core.py in _load_lib()
84 if len(lib_path) == 0:
85 Rückgabe Keine
---> 86 lib = ctypes.cdll.LoadLibrary(lib_path[0])
87 lib.XGBGetLastError.restype = ctypes.c_char_p
88 Rückgaberecht

/Users/azaitzeff/anaconda/lib/python2.7/ctypes/ init .pyc in LoadLibrary(self, name)
441
442 def LoadLibrary(selbst, Name):
--> 443 gibt self._dlltype(name) zurück
444
445 cdll = LibraryLoader (CDLL)

/Users/azaitzeff/anaconda/lib/python2.7/ctypes/ init .pyc in init (self, name, mode, handle, use_errno, use_last_error)
363
364, wenn Handle None ist:
--> 365 self._handle = _dlopen(self._name, Modus)
366 sonst:
367 self._handle = Griff

OSError: dlopen(/Users/azaitzeff/anaconda/lib/python2.7/site-packages/xgboost/./wrapper/libxgboostwrapper.so, 6): Bibliothek nicht geladen: /usr/local/lib/gcc/4.9/libgomp .1.dylib
Referenziert von: /Users/azaitzeff/anaconda/lib/python2.7/site-packages/xgboost/./wrapper/libxgboostwrapper.so
Grund: Bild nicht gefunden

Irgendeine Hilfe. Danke
AZ

@AZaitzeff @Fkawala Danke. Können Sie bestätigen, ob gcc auf Ihrem Ubuntu oder Mac installiert ist? Mit Ihren Informationen sehe ich das Problem der vorkompilierten Bibliothek: Wenn auf dem System kein gcc installiert ist, würde das Build-Skript in pip fehlschlagen. Im Pip-Installationspaket habe ich jedoch eine vorkompilierte Bibliothek libxgboostwrapper.so mit gcc 4.9 von brew in Mac eingefügt. Wenn also das Erstellungsskript fehlschlägt, sucht xgboost nach dieser vorkompilierten Bibliothek. Linux erkennt diese Mac-Lib nicht, daher hat es einen ELF-Codefehler; Bei einem Mac ohne OpenMP wird der Link-Fehler ausgelöst. Jetzt sehe ich, dass es einige Verwirrung verursacht und vielleicht keine gute Idee ist. Ich werde die Pip-Installation aktualisieren und die Meldung anzeigen, wenn kein gcc vorhanden ist. PS Wir werden in der nächsten offiziellen Version eine vorkompilierte und statisch gelinkte Bibliothek haben, die eine bessere Lösung für den Versand von vorkompiliertem Code darstellt.

@phunterlau Danke. Ich habe kein OpenMP auf meinem Mac. Das hat also den Fehler verursacht.

@phunterlau ok, ich werde eine richtige Kompilierungsumgebung einrichten und die Pip-Installation erneut testen.

Danke für die schnelle Antwort.

Also habe ich brew install clang-omp ausgeführt und es installiert. Das xgboost-Verzeichnis und die xgboost-0.4a13.dist-info gelöscht und pip install xgboost erneut ausgeführt. Meine Terminalfenster geschlossen und wieder geöffnet. Aber ich erhalte immer noch den gleichen Fehler, wenn ich versuche, xgboost zu importieren. Irgendwelche Gedanken?

@AZaitzeff tatsächlich clang-omp wird nicht empfohlen, da clang von Xcode es nicht unterstützt, so dass clang-omp ein seltsames Ergebnis liefern kann. Das Mac-Pip-Installationspaket wurde auf gcc 4.9 von Brew mit OpenMP erstellt und getestet. Möchten Sie es mit brew install gcc49 versuchen? Jetzt haben wir auch gcc 5 von Brew, aber ich hatte noch keine Gelegenheit, es vollständig zu testen. Ich werde es im nächsten Pip-Upload tun.

Danke das hat super funktioniert.

@phunterlau der Build (mit ./xgboost/build-python.sh ) funktioniert wie ein Zauber. Die Pip-Installation führt jedoch zu der vorkompilierten Bibliothek. Ich habe setup.py geändert, um zu zeigen, warum die Kompilierung nicht versucht wird. Mit PIP 7.1.2 (Python 2.7) zum Ausführen:

pip install --user -e ./tweaked-xgboost-0.4a13/

gibt:

'pip' in __file__: False
not os.name == 'nt': True

Laut http://stackoverflow.com/questions/9959279/detect-pip-in-setup-py [1] funktioniert der 'pip' in __file__ -Test weder mit Py 2.7 2014-10-27 noch mit benutzerdefinierter Installation ( wie ich es in meinem vorherigen Kommentar verwendet habe). Wie in [1] vorgeschlagen, ist 'pip' in os.environ.get('_') eine Standardmethode, um zu testen, ob pip setup.py .

@Fkawala Danke. 'pip' in __file__ war ein alter Trick von vor langer Zeit, schön den neuen zu kennen. Ich werde die Pip-Installation aktualisieren und später eine PR (mit einigen anderen Patches) senden.

@phunterlau Ich habe ein ähnliches Problem, habe nicht verstanden, wie dieser ELF-Fehler behoben werden kann. Ich arbeite an Ubuntu und kann das xgboost-Paket nach der Installation mit Pip nicht importieren. Sie haben über gcc geschrieben, ich habe gcc-4.9 installiert, aber es funktioniert immer noch nicht, was fehlt mir?

Hier ist mein Fehler:

xgboost importieren

OSError Traceback (letzter Aufruf zuletzt)
in()
----> 1xgboost importieren
/home/antklen/anaconda/lib/python2.7/site-packages/xgboost/ init .py in()
9 os importieren
10
---> 11 von .core import DMatrix, Booster
12 von .training import train, cv
13 aus .sklearn import XGBModel, XGBClassifier, XGBRegressor
/home/antklen/anaconda/lib/python2.7/site-packages/xgboost/core.py in()
90
91 # Laden Sie die XGBoost-Bibliothek global
---> 92 _LIB = _load_lib()
93
94 def _check_call(ret):
/home/antklen/anaconda/lib/python2.7/site-packages/xgboost/core.py in _load_lib()
84 if len(lib_path) == 0:
85 Rückgabe Keine
---> 86 lib = ctypes.cdll.LoadLibrary(lib_path[0])
87 lib.XGBGetLastError.restype = ctypes.c_char_p
88 Rückgaberecht
/home/antklen/anaconda/lib/python2.7/ctypes/__init__.pyc in LoadLibrary(self, name)
441
442 def LoadLibrary(selbst, Name):
--> 443 gibt self._dlltype(name) zurück
444
445 cdll = LibraryLoader (CDLL)
/home/antklen/anaconda/lib/python2.7/ctypes/__init__.pyc in init (self, name, mode, handle, use_errno, use_last_error)
363
364, wenn Handle None ist:
--> 365 self._handle = _dlopen(self._name, Modus)
366 sonst:
367 self._handle = Griff
OSError: /home/antklen/anaconda/lib/python2.7/site-packages/xgboost/./wrapper/libxgboostwrapper.so: Ungültiger ELF-Header

@antklen In Windows müssen Sie zuerst die Setuptools installieren. Ich bin mir nicht sicher, ob das bei Ubuntu der Fall ist, aber vielleicht einen Versuch wert?

@antklen liegt daran, dass die aktuelle Pip-Installation ein On-the-Fly-Compiler-Skript ist und mit einer Mac-Version der .so-Datei geliefert wird, falls einige Mac-Benutzer g ++ nicht zum Kompilieren installiert haben. Es stellte sich als keine gute Idee heraus und sorgte für einige Verwirrung bei Linux-Benutzern.

Die Lösung ist, dass Sie bitte gcc und g++ apt-get install g++ installieren, damit das Kompilierungsskript übernommen wird.

Und wenn Ihr Pip neuer als 0.7.1.2 ist, kann es ein weiteres Problem geben, zu überprüfen, ob Pip ausgeführt wird. Ich werde es in der nächsten Version reparieren und versenden. Wenn Sie g++ haben, aber immer noch den gleichen Fehler, installieren Sie bitte manuell von setup.py, indem Sie dem Installationsdokument folgen.

@smargsongithub @phunterlau Vielen Dank für die Antworten!
apt-get install g++ hat bei mir auch nicht funktioniert, aber ich habe Erfolg mit der manuellen Installation wie hier beschrieben https://www.kaggle.com/c/springleaf-marketing-response/forums/t/16320/cloud-vs- lokale-maschine-vor-und-nachteile
Ich hatte einige Probleme, weil ich Anaconda verwende, also ist mein endgültiges Rezept

sudo apt-get install make
sudo apt-get update
sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install git
sudo git clone https://github.com/dmlc/xgboost
CD xgboost
sudo ./build.sh
cd Python-Paket
sudo /home/username/anaconda/bin/python setup.py installieren

@antklen oh, du brauchst sudo wenn du g++ installierst :-)

@Fkawala Ich versuche 'pip' in os.environ.get('_') für den aktualisierten Pip, aber os.environ.get('_') gibt immer None zurück und diese if-Anweisung gibt einen Fehler aus. Haben wir eine andere Methode zum Erkennen von Pip in der Befehlszeile? Andernfalls würde ich ein separates setup.py nur für pip erstellen und dort den Compiler auslösen. Danke.

@phunterlau Ich bekomme das folgende Traceback von pip install xgboost, irgendwelche Gedanken? (mit einem Mac)

Traceback (letzter Aufruf zuletzt):
Datei "“, Zeile 20, in
Datei "/private/var/folders/7g/thc6mmqd2nb55r21htwx2slr0000gp/T/pip-build-0BlCW9/xgboost/setup.py", Zeile 38, in
LIB_PATH = libpath 'find_lib_path'
Datei „/private/var/folders/7g/thc6mmqd2nb55r21htwx2slr0000gp/T/pip-build-0BlCW9/xgboost/xgboost/libpath.py“, Zeile 47, in find_lib_path
'Liste der c andidates:n ' + ('n'.join(dll_path)))
builtin .XGBoostLibraryNotFound: XGBoost Libarary kann nicht im Kandidatenpfad gefunden werden, haben Sie build.sh im Stammpfad ausgeführt?
Kandidatenliste:
/private/var/folders/7g/thc6mmqd2nb55r21htwx2slr0000gp/T/pip-build-0BlCW9/xgboost/xgboost/libxgboostwrapper.so
/private/var/folders/7g/thc6mmqd2nb55r21htwx2slr0000gp/T/pip-build-0BlCW9/xgboost/xgboost/../../wrapper/libxgboostwrapper.so
/private/var/folders/7g/thc6mmqd2nb55r21htwx2slr0000gp/T/pip-build-0BlCW9/xgboost/xgboost/./wrapper/libxgboostwrapper.so
/private/var/folders/7g/thc6mmqd2nb55r21htwx2slr0000gp/T/pip-build-0BlCW9/xgboost/xgboost/../../../xgboost/wrapper/libxgboostwrapper.so


Befehl „python setup.py egg_info“ ist mit Fehlercode 1 in /private/var/folders/7g/thc6mmqd2nb55r21htwx2slr0000gp/T/pip-build-0BlCW9/xgboost fehlgeschlagen

@pcohen89 Dieses Python-Paket wird mit C++-Code geliefert und im laufenden Betrieb kompiliert, sodass Sie möglicherweise einen Compiler benötigen. Haben Sie Ihren Compiler installiert, zB gcc-5 oder clang LLVM von Xcode? Mac installiert standardmäßig keine xcode-Befehlszeilentools und Sie können dieser Anleitung folgen http://railsapps.github.io/xcode-command-line-tools.html oder eine andere bessere Wahl ist die Installation homebrew http ://brew.sh/ und brew install g++-5 . Die spätere Option (g++-5) bietet Multi-Thread-OpenMP-Unterstützung.

Entfernen Sie nach der Installation der Compiler bitte die alte xgboost-Installation und wiederholen Sie pip install xgboost

@antklen @phunterlau Versucht, die von @antklen erwähnten Schritte zu befolgen. Jetzt kann ich import xgboost auf dem Terminal ausführen. Auf Anacondas Ipython Notebook gibt es mir jedoch den folgenden Fehler. Bitte um Hilfe. Ich verwende Ubuntu.

XGBoostLibraryNotFound: Cannot find XGBoost Libarary in the candicate path, did you run build.sh in root path?
List of candidates:
/home/simpl/anaconda/lib/python2.7/site-packages/xgboost-0.4-py2.7.egg/xgboost/libxgboostwrapper.so
/home/simpl/anaconda/lib/python2.7/site-packages/xgboost-0.4-py2.7.egg/xgboost/../../wrapper/libxgboostwrapper.so
/home/simpl/anaconda/lib/python2.7/site-packages/xgboost-0.4-py2.7.egg/xgboost/./wrapper/libxgboostwrapper.so

@Jeechu das bedeutet, dass xgboost nicht kompiliert wurde, hast du:

  1. die alte xgboost-Installation entfernt?
  2. installiertes xcode (mac) oder gcc-5 (mac verwendet brew, linux verwendet apt-get oder yum)?

pip install xgboost -v kann mehr über die Fehlermeldung sagen.

@phunterlau Ich und @Jeechu haben die alte xgboost-Installation entfernt und gcc,g++ installiert. XGBoost läuft gut über das Terminal, aber mit Anaconda Ipython Notebook gibt es diesen Fehler.

Stimmt etwas mit dem Installationspfad nicht?

@rajdeltarobo @Jeechu was ist die Python-Version deines Ipython-Notebooks? und was sind Ihre $PYTHONPATH -Variablen in der .bashrc (oder anderen env-Dateien aus Ihren Shells)?

Anscheinend sucht Ihr xgboost nach $# python setup.py install /home/simpl/anaconda/lib/python2.7/site-packages/xgboost-0.4-py2.7.egg/ , was kein Pip-Installationspfad ist (die Pip-Installation hat seine zusätzliche Versionsnummer, z von github, daher kann das Problem von $PYTHONPATH kommen

@phunterlau $PYTHONPATH ist nicht definiert, es gibt ein Leerzeichen zurück. Unten ist jedoch der Wert von path

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/simpl/anaconda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

Der Python-Pfad ist

➜  ~  which python  
/usr/bin/python

Die Python-Version von ipython notebook ist 2.7

Wie wäre es, wenn Sie Ihrem PYTHONPATH so etwas hinzufügen:
/Users/simpl/anaconda/lib/python2.7/site-packages/

Wenn Sie Python von Anaconda verwenden möchten, bleiben Sie einfach für alles dabei, andernfalls verwenden Sie virtualenv , anstatt mehrere Python-Installationen zu haben. Es ist sehr verwirrend, wenn mehrere Python-Installationen auf demselben Computer vorhanden sind.

@phunterlau Funktioniert nicht. Ich benutze Ubuntu so hinzugefügt

/home/user/anaconda/lib/python2.7/site-packages/

Obwohl ich dies am Ende der Bashrc-Datei sehen kann

# added by Anaconda 2.3.0 installer
export PATH="/home/user/anaconda/bin:$PATH"

@phunterlau Ich hatte gcc installiert und fand das reicht aus. Habe Xcode und es hat alles funktioniert. Vielen Dank für Ihre Unterstützung bei Xgboost, es ist großartig und Sie alle sind super hilfreich.

@ pcohen89 schön zu wissen, dass xcode geholfen hat. Möglicherweise stellen Sie fest, dass xcode clang nur Single-Thread-xgboost unterstützt, also sollten Sie brew install g++-5 für Multithread-Unterstützung ausprobieren. Jedenfalls ist eine Arbeitskopie eine gute Kopie.

@rajdeltarobo PATH unterscheidet sich von PYTHONPATH, wobei PYTHONPATH Python ermöglicht, die angepasste Paketinstallation zu finden. Bitte fügen Sie es hinzu und beziehen Sie Ihre bashrc.

Kopieren Sie /wrapper/libxgboostwrapper.so nach /home/username/anaconda3/lib/python3.4/site-packages/xgboost-0.4-py3.4.egg/xgboost/ löste das Problem für mich (ich verwende Ubuntu 14.04)

mein problem war:

XGBoostLibraryNotFound: Die XGBoost-Bibliothek kann nicht im Kandidatenpfad gefunden werden. Haben Sie build.sh im Stammpfad ausgeführt?
Kandidatenliste:
/home/simpl/anaconda/lib/python2.7/site-packages/xgboost-0.4-py2.7.egg/xgboost/libxgboostwrapper.so
/home/simpl/anaconda/lib/python2.7/site-packages/xgboost-0.4-py2.7.egg/xgboost/../../wrapper/libxgboostwrapper.so
/home/simpl/anaconda/lib/python2.7/site-packages/xgboost-0.4-py2.7.egg/xgboost/./wrapper/libxgboostwrapper.so

@davutpolat Der Fehler aus Ihrer Nachricht stammt von einer kürzlichen Änderung zur Konfliktlösung für die Pip-Installation, aber es stellte sich heraus, dass diese Änderung keine gute Idee war, also haben wir sie rückgängig gemacht (PR #572). In Zukunft wird diese Kopie nicht mehr benötigt und wir werden eine weitere separate Setup-Konfiguration nur für die Pip-Installation mit Kompilierung im laufenden Betrieb haben. Entschuldigen Sie die Unannehmlichkeiten in den letzten Tagen.

Ich versuche, xgboost über pip zu installieren, scheitere jedoch mit demselben Fehler wie @davutpolat . Ich wollte seine Lösung verwenden, aber ich habe keine Ahnung, wo /wrapper/libxgboostwrapper.so zu finden ist.

@claygirl hast du gcc oder clang in deinem system? teilen Sie bitte auch Ihre Systemumgebung und Fehlermeldung mit

Lösung. Ich hatte denselben OSError: /usr/local/lib/libxgboostwrapper.so: Datei mit gemeinsam genutztem Objekt kann nicht geöffnet werden: Keine solche Datei oder kein solches Verzeichnis. Ich habe die kopiert
site-packages/xgboost-0.4-py2.7.egg/xgboost/./wrapper/libxgboostwrapper.so nach /usr/local/lib/ und scheint zu funktionieren.
Aber nicht zufrieden damit, da ich sowohl 2.7 als auch 3.4 habe. ..Irgendeine neue Auflösung?

@dsivakumar site-packages/xgboost-0.4-py2.7.egg/xgboost/./wrapper ist der erwartete Speicherort für libxgboostwrapper.so, wenn die Installation mit pip erfolgt und xgboost/lib_path.py diesen Pfad enthält, also import xgboost kann es leicht finden. Wenn Sie sowohl 2.7 als auch 3.4 möchten, verwenden Sie bitte virtualenv und installieren Sie mit Pip separat, da Pip von den Python-Versionen abhängt.

@phunterlau Danke, das scheint die einzige Lösung zu sein.

Ich habe es mehrmals versucht, aber die Hoffnung verloren, xgboost auf meinem Windows-PC zu installieren.
aber vielleicht hilft dir jetzt was zu tun
es ist der Fehler
C:UsersSander>pip installiere xgboost
Sammeln von xgboost
Herunterladen von xgboost-0.4a30.tar.gz (753kB)
100% |##################################| 753kB 397kB/s
Keine Dateien/Verzeichnisse in
c:usersanderappdatalocaltemppip-build-gqsijfxgbo
ostpip-Ei-Info (von PKG-INFO)
Ich verwende die Anaconda-Python-Installation
Ich erinnere mich, dass jemand bei einem der Kaggle-Wettbewerbe die Installation von xgboos und
wählt eine andere Technik und er bekommt den 2. Platz...

Am Donnerstag, den 7. Januar 2016 um 3:31 Uhr schrieb dsivakumar [email protected] :

@phunterlau https://github.com/phunterlau Danke, das scheint das einzige zu sein
Lösung.


Antworten Sie direkt auf diese E-Mail oder zeigen Sie sie auf GitHub an
https://github.com/dmlc/xgboost/issues/463#issuecomment -169595600.

@ Sandy4321 Windows unterstützt die Pip-Installation jetzt nicht, da sie nicht für den VS-Befehlszeilen-Compiler festgelegt wurde, wie in der Installationsanleitung und der Fehlerbehebung erwähnt. Bitte verwenden Sie zum Kompilieren und Installieren die VS-Lösungsdatei in windows/ . Ich hoffe, es kann dir auch helfen, den 2. Platz zu erreichen :-)

Ich versuche, Xgboost auf Mac 10.10.5 ohne Xcode zu installieren. Ich habe zuerst GCC 5.3 mit Openmp-Unterstützung von brew install gcc --without-multilib installiert. Zweitens baue ich xgboost by

git clone --recursive https://github.com/dmlc/xgboost
CD xgboost
export CC=/usr/local/bin/gcc-5
export CXX=/usr/local/bin/g++-5
cp make/config.mk ./config.mk
mach -j4

Dann erscheint ein Fehler, wie unten,
make: ** [lib/libxgboost.a] Fehler 1make: * * Warten auf unvollendete Jobs....
clangclang: : Warnung: Warnung: Argument wird während der Kompilierung nicht verwendet: '-pthread'
Argument, das während der Kompilierung nicht verwendet wird: '-pthread'
ld: Bibliothek für -lgomp nicht gefunden
ld: Bibliothek für -lgomp nicht gefunden
clang: error: linker command failed with exit code 1 (use -v to see invocation)
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: ** [lib/libxgboost.so] Fehler 1make: * * [xgboost] Fehler 1

Ich ignorierte den Fehler und machte weiter. Ich habe Codes wie unten eingegeben
sudo ./build.sh

Dann hieß es
clang: Warnung: Argument während der Kompilierung nicht verwendet: '-pthread'
Erstellen Sie erfolgreich Single-Thread-xgboost

Würden Sie mir bitte sagen, warum es immer noch ein Single-Thread-Xgboost ist, obwohl ich GCC 5 mit OpenMP installiert habe.
Was sollte ich tun, um das von mir installierte Xgboost in eine Multithread-Version zu ändern?

Das aktuelle Makefile funktioniert besser mit clang-omp.

Hallo, vielen Dank für Ihre Antwort.
Sie meinen, dass xgboost jetzt kein gcc benötigt und clang als Compiler auch Multi-Threading unterstützen kann, oder? Da MAC 10.9 und höher mit clang geliefert wird, muss ich immer noch clang-omp von Homebrew herunterladen
Ich bin ein Anfänger. Früher habe ich xgboost gemäß der Methode auf dieser Website installiert. Gibt es jetzt eine aktualisierte Installationsanleitung? Können Sie mir sagen, wie ich sie konfigurieren muss?
Muss ich außerdem nach dem Wechsel zu clang-omp zuerst das bereits installierte xgboost löschen und dann xgboost neu installieren?
Danke!

Am 03.04.2016 01:34:37 ​​schrieb "Hongliang Liu" [email protected] :

Das aktuelle Makefile funktioniert besser mit clang-omp.


Sie erhalten dies, weil Sie kommentiert haben.
Antworten Sie direkt auf diese E-Mail oder zeigen Sie sie auf GitHub an

Thx für deine schnelle Antwort. Gemäß Ihrem Vorschlag habe ich clang-omp über Homebrew heruntergeladen.
Was ist dann der nächste Schritt für mich? Ob ich den aktuellen xgboost entfernen und stattdessen neu installieren sollte.

Bitte ändern Sie den Standard-Compiler in config.mk auf clang-omp. Bitte folgen Sie der Bauanleitung Mac OS X Teil.

Thx für deine Anleitung. Und ich habe den Standard-Compiler in config.mk so auf clang-omp geändert
` export CC = /usr/local/bin/clang-omp

export CXX = /usr/local/bin/clang-omp++

ADD_CFLAGS = -fopenmp`

Dann kompiliere ich durch
make -j8

Allerdings taucht der Fehler wieder auf:
make: ** [lib/libxgboost.a] Fehler 1make: * * Warten auf unvollendete Jobs....
clang-3.5clang-3.5: : errorerror: : no such file or directory: 'rabit/lib/librabit.a'no such file or directory: 'rabit/lib/librabit.a'

make: ** [lib/libxgboost.so] Fehler 1make: * * [xgboost] Fehler 1

Ist etwas falsch für mich?

Und ich laufe
sudo ./build.sh
Fehler erscheint wie unten

include/dmlc/omp.h:13:9: Warnung: Warnung: OpenMP ist nicht verfügbar, Projekt wird
in Single-Thread-Code kompiliert werden. Verwenden Sie einen OpenMP-fähigen Compiler, um zu erhalten
Vorteile von Multithreading. [-W#Pragma-Nachrichten]

pragma message("Warnung: OpenMP ist nicht verfügbar, "

versuchen Sie bitte, clang-omp von brew remove clang-omp; brew install clang-omp neu zu installieren; Ändern Sie nur diese beiden Zeilen (kein ADD_FLAG ) in config.mk , und stellen Sie sicher, dass Sie sie in dasselbe Verzeichnis wie Makefile kopieren.

export CC = clang-omp
export CXX = clang-omp++

und führen Sie make aus

Mit Windows 7. Anaconda von yhat Rodeo.

Beim Versuch, xgboost zu installieren, wird die folgende Fehlermeldung angezeigt. Bitte helfen Sie.

`! pip installiere xgboost

Sammeln von xgboost
Zwischengespeichertes xgboost-0.4a30.tar.gz verwenden
Keine Dateien/Verzeichnisse in C:UsersUSERAppDataLocalTemppip-build-dkmqc8n1xgboostpip-egg-info (von PKG-INFO)`

@phunterlau Danke für deinen Vorschlag. Ich habe Ihre Anleitung ausprobiert und folgende Fehlermeldung erhalten. Bitte geben Sie einen Vorschlag.
Ich habe clang-imp neu installiert und zwei Zeilen (kein ADD_FLAG) in config.mk im selben Verzeichnis wie Makefile geändert

export CC = clang-omp
export CXX = clang-omp++

Dann führe ich sudo make -j4 aus und erhalte den folgenden Fehler.

ar crv lib/libxgboost.a 
ar: no archive members specified
usage:  ar -d [-TLsv] archive file ...
    ar -m [-TLsv] archive file ...
    ar -m [-abiTLsv] position archive file ...
    ar -p [-TLsv] archive [file ...]
    ar -q [-cTLsv] archive file ...
    ar -r [-cuTLsv] archive file ...
    ar -r [-abciuTLsv] position archive file ...
    ar -t [-TLsv] archive [file ...]
    ar -x [-ouTLsv] archive [file ...]
make: *** [lib/libxgboost.a] Error 1
make: *** Waiting for unfinished jobs....
clang-3.5: warning: argument unused during compilation: '-pthread'
clang-3.5: warning: argument unused during compilation: '-pthread'

Dann führe ich sudo ./build.sh aus und erhalte die folgende Fehlermeldung

ar crv lib/libxgboost.a 
ar: no archive members specified
usage:  ar -d [-TLsv] archive file ...
    ar -m [-TLsv] archive file ...
    ar -m [-abiTLsv] position archive file ...
    ar -p [-TLsv] archive [file ...]
    ar -q [-cTLsv] archive file ...
    ar -r [-cuTLsv] archive file ...
    ar -r [-abciuTLsv] position archive file ...
    ar -t [-TLsv] archive [file ...]
    ar -x [-ouTLsv] archive [file ...]
make: *** [lib/libxgboost.a] Error 1
-----------------------------
Building multi-thread xgboost failed

Hallo allerseits,
Um Xgboost unter Windows mit Python zu installieren, befolgen Sie die Anweisungen im folgenden Thread.

http://stackoverflow.com/questions/33749735/how-to-install-xgboost-package-in-python-windows-platform

@boral ja, die aktuelle Pip-Installation unterstützt keine Windows-Plattform. schön, dass du es herausgefunden hast

@liyanjin du kannst einfach 'make xgboost' für den Kernteil machen. Um ar zu haben, müssen Sie möglicherweise ar für mac installieren

Ich stehe vor einem ähnlichen Problem. Mein Fehler ist ziemlich

OSError: dlopen(/Users/mlal/anaconda/lib/python2.7/site-packages/libxgboostwrapper.so, 6): Library not loaded: @rpath/./libgomp.1.dylib
  Referenced from: /Users/mlal/anaconda/lib/python2.7/site-packages/libxgboostwrapper.so
  Reason: image not found

Ich habe überprüft, ob gcc installiert ist.
$ brew gcc49 installieren
Warnung: homebrew/versions/gcc49-4.9.3 bereits installiert

Ich bin auf Mac OS und habe xgboost über Anaconda installiert

@lalmanisha Ich glaube, Sie verwenden einen Mac. Die aktuelle Best Practice auf dem Mac ist die Verwendung clang-omp anstelle von gcc . Können Sie versuchen, clang-omp von Brew zu installieren und CC und CXX in der config.mk in clang-omp zu ändern?

Danke für deine Antwort. Ich bekomme immer noch die gleiche Fehlermeldung. Hier ist das
`-------------------------------------------------------- -------------------------
OSError Traceback (letzter Aufruf zuletzt)
in()
14 # Alle Ergebnisse, die Sie in das aktuelle Verzeichnis schreiben, werden als Ausgabe gespeichert.
fünfzehn
---> 16 xgboost als xgb importieren
17 aus sklearn.linear_model import LogisticRegression
18 Pandas als pd importieren

/Users/mlal/anaconda/lib/python2.7/site-packages/xgboost.py in()
80
81 # Laden Sie die XGBoost-Bibliothek global
---> 82 xglib = load_xglib()
83
84

/Users/mlal/anaconda/lib/python2.7/site-packages/xgboost.py in load_xglib()
57 if len(dll_path) == 0:
58 raise XGBoostLibraryNotFound('kann die Dateien im Kandidatenpfad nicht finden ' + str(dll_path))
---> 59 lib = ctypes.cdll.LoadLibrary(lib_path[0])
60
61 # DMatrix-Funktionen

/Users/mlal/anaconda/lib/python2.7/ctypes/ init .pyc in LoadLibrary(self, name)
441
442 def LoadLibrary(selbst, Name):
--> 443 gibt self._dlltype(name) zurück
444
445 cdll = LibraryLoader (CDLL)

/Users/mlal/anaconda/lib/python2.7/ctypes/ init .pyc in init (self, name, mode, handle, use_errno, use_last_error)
363
364, wenn Handle None ist:
--> 365 self._handle = _dlopen(self._name, Modus)
366 sonst:
367 self._handle = Griff

OSError: dlopen(/Users/mlal/anaconda/lib/python2.7/site-packages/libxgboostwrapper.so, 6): Bibliothek nicht geladen: @rpath/./libgomp.1.dylib
Referenziert von: /Users/mlal/anaconda/lib/python2.7/site-packages/libxgboostwrapper.so
Grund: Bild nicht gefunden
`
Ich habe die Datei config.mk wie folgt geändert

Wahl des Compilers
export CC = klang-omp
export CXX = klang-omp
export MPICXX = mpicxx

sudo make -j4
ar crv lib/libxgboost.a
ar: keine Archivmitglieder angegeben
Verwendung: ar -d [-TLsv] Archivdatei ...
ar -m [-TLsv] Archivdatei ...
ar -m [-abiTLsv] Positionsarchivdatei ...
ar -p [-TLsv] Archiv [Datei ...]
ar -q [-cTLsv] Archivdatei ...
ar -r [-cuTLsv] Archivdatei ...
ar -r [-abciuTLsv] Positionsarchivdatei ...
ar -t [-TLsv] Archiv [Datei ...]
ar -x [-ouTLsv] Archiv [Datei ...]
make: ** [lib/libxgboost.a] Fehler 1make: * * Warten auf unvollendete Jobs....
clang: clang: error: error: nicht unterstützte Option '-fopenmp' nicht unterstützte Option '-fopenmp'

make: ** [lib/libxgboost.so] Fehler 1make: * * [xgboost] Fehler 1
Als ich rannte
sudo ./build.sh

maker.o build/tree/updater_sync.o dmlc-core/libdmlc.a rabit/lib/librabit_empty.a -pthread -lm
clang: Warnung: Argument während der Kompilierung nicht verwendet: '-pthread'
Erstellen Sie erfolgreich Single-Thread-xgboost
Wenn Sie eine Multithread-Version wünschen
Weitere Anweisungen finden Sie in doc/build.md

Ich bekomme immer noch denselben Fehler
dlopen(/Users/mlal/anaconda/lib/python2.7/site-packages/libxgboostwrapper.so, 6): Bibliothek nicht geladen: @rpath/./libgomp.1.dylib
Referenziert von: /Users/mlal/anaconda/lib/python2.7/site-packages/libxgboostwrapper.so
Grund: Bild nicht gefunden

ok, ich schätze, die Kombination aus obiger Hilfe und build.md hat mir geholfen, xgboost zum Laufen zu bringen. Danke euch allen !

@lalmanisha Da Sie nur das Python-Paket benötigen, können Sie einfach make xgboost entfernen, wodurch andere unnötige Pakete wie die Parallel- und Garnversion entfernt werden, die ar benötigen. Es sollte make erfolgreich gewesen sein. Und schön, dass du es herausgefunden hast.

Versuchen Sie, Xgboost mit git clone auf dem MAC zu installieren. Ich befolge alle Anweisungen von @LiyanJin bis zu dieser Antwort . Ich habe clang-omp über Homebrew heruntergeladen, um Multi-Threading zu verwenden.

  • config.mk:
export CC = clang-omp
export CXX = clang-omp++
export MPICXX = mpicxx
  • Fehler :
clang-omp++ -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude -fopenmp  -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/learner.o src/learner.cc >build/learner.d
In file included from src/learner.cc:7:
In file included from include/xgboost/logging.h:11:
In file included from dmlc-core/include/dmlc/logging.h:10:
/usr/local/Cellar/clang-omp/2015-04-01/libexec/bin/../include/c++/v1/cstdio:100:10: fatal error: 'stdio.h' file not found
#include <stdio.h>
         ^
1 error generated.
make: *** [build/learner.o] Error 1

pip install funktioniert gut, aber ich hätte gerne die neuesten Funktionen im Python-Paket.

Einige Hinweise ?


Bearbeiten: Finden Sie die Lösung. Nur xcode-select --install und make . Hoffe es hilft anderen.

@armgilles , das ist richtig: Mac hat die Compiler standardmäßig nicht mit Headern installiert, während clang-omp den lokal installierten Xcode benötigt, die Installation von xcode-select --install alles nach dem Upgrade auf ein neues System kann das Problem lösen .

Ich musste es von Grund auf neu bauen:

git clone --recursive https://github.com/dmlc/xgboost.git  
cd xgboost  
./build.sh
pip install -e python-package  

Der hnykda-Vorschlag hat bei mir unter Ubuntu 16.0.4 funktioniert

@phunterlau
Ich habe den gleichen Fehler.
ar crv lib/libxgboost.a
ar: keine Archivmitglieder angegeben
Verwendung: ar -d [-TLsv] Archivdatei ...
ar -m [-TLsv] Archivdatei ...
ar -m [-abiTLsv] Positionsarchivdatei ...
ar -p [-TLsv] Archiv [Datei ...]
ar -q [-cTLsv] Archivdatei ...
ar -r [-cuTLsv] Archivdatei ...
ar -r [-abciuTLsv] Positionsarchivdatei ...
ar -t [-TLsv] Archiv [Datei ...]
ar -x [-ouTLsv] Archiv [Datei ...]
make: * [lib/libxgboost.a] Fehler 1

ich habe ar installiert. Ich frage mich, was die "ar crv" tun, wenn ich einen anderen Befehl zum Ersetzen verwenden kann.
Sie haben erwähnt " @liyanjin Sie können einfach 'make xgboost' für den Kernteil machen. Um ar zu haben, müssen Sie möglicherweise ar für Mac installieren", ich verstehe nicht, was "mach 'make xgboost' für den Kernteil" bedeutet. hoffe auf eure ratschläge

Ich habe das Paket auf meinem MAC (macOS 10.12.3) erfolgreich installiert durch:

brew install --with-clang llvm
brew install cmake
brew install gcc --without-multilib

git clone --recursive https://github.com/dmlc/xgboost
cd xgboost; cp make/config.mk ./config.mk; make -j4

cd python-package/ ; python setup.py install

@hnykda Oft ist die funktionierende Lösung die scheinbar einfache. Danke, Mann.

Die Lösung, die ich für mich gefunden habe, war die Navigation zu
/home/username/anaconda3/lib/python3.5/site-packages/xgboost
und führe ./build-python.sh aus

Es scheint, dass es viele Probleme bei der Installation von xgboost gibt. Ich habe versucht, auf einem Mac zu installieren, und bin auch fehlgeschlagen. Könnte osmeone mir sagen, was die endgültige Lösung ist?

Was für mich funktioniert hat, war das Hinzufügen des Folgenden unter Linux ... Gutschrift (alle oben)

git clone --recursive https://github.com/dmlc/xgboost.git  
cd xgboost  
./build.sh
pip install -e python-package 
cd python-package
python setup.py install

Für mich arbeitete auf MacOS Sierra nach:
brew install gcc --without-multilib

Ausführen dieser Befehle:

export CC=gcc-7
export CXX=g++-7

@philipshurpik Tausend Dank!

@philipshurpik Das hat bei mir ziemlich gut funktioniert, danke!

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen