Xgboost: error de instalación de pip

Creado en 2 sept. 2015  ·  72Comentarios  ·  Fuente: dmlc/xgboost

root@0c6c17725a7b :/# pip instalar xgboost
Descargando/descomprimiendo xgboost
No se pudo encontrar una versión que satisfaga el requisito xgboost (de las versiones: 0.4a12, 0.4a13)
Limpiar...
No hay distribuciones que coincidan con la versión para xgboost
Almacenamiento del registro de depuración por falla en /root/.pip/pip.log

Puedes repetir en docker con:
ventana acoplable ejecutar -it --rm ubuntu:de confianza

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

ver esto también:

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

Comentario más útil

Tuve que construirlo desde cero:

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

Todos 72 comentarios

no parece funcionar para mí

ubuntu@ip-172-31-11-169 :~$ sudo apt-obtener actualización
... bla bla
ubuntu@ip-172-31-11-169 :~$ sudo apt-get install python-pip
Leyendo listas de paquetes... Listo
Árbol de dependencias del edificio
Leyendo información de estado... Listo
python-pip ya es la versión más nueva.
0 actualizado, 0 recién instalado, 0 para eliminar y 74 no actualizado.
ubuntu@ip-172-31-11-169 :~$ sudo pip instalar xgboost
Descargando/descomprimiendo xgboost
No se pudo encontrar una versión que satisfaga el requisito xgboost (de las versiones: 0.4a12, 0.4a13)
Limpiar...
No hay distribuciones que coincidan con la versión para xgboost
Almacenamiento de registro de depuración por falla en /home/ubuntu/.pip/pip.log
ubuntu@ip-172-31-11-169 :~$

La sugerencia de stackoverflow de --pre produjo esto:

ubuntu@ip-172-31-11-169 :~$ sudo pip install --pre xgboost
Descargando/descomprimiendo xgboost
Descargando xgboost-0.4a13.tar.gz (690kB): 690kB descargados
Ejecutando setup.py (ruta:/tmp/pip_build_root/xgboost/setup.py) egg_info para el paquete xgboost
xgboost/build-python.sh: 13: xgboost/build-python.sh: empujar: no encontrado
make: * No hay regla para hacer que el objetivo python'. Stop. ----------------------------- Building multi-thread xgboost failed Start to build single-thread xgboost make: *** No rule to make target esté limpio'.
Detener.Compilación exitosa de xgboost de un solo subprocesoSi quieres una versión multiprocesoVer instrucciones adicionales en doc/build.mdxgboost/build-python.sh: 26: xgboost/build-python.sh: popd: no encontrado(Ninguno Ninguno)Rastreo (llamadas recientes más última):Expediente "", línea 17, en


init .py", línea 8, en








self._handle = _dlopen(self._name, modo)
OSError: /tmp/pip_build_root/xgboost/xgboost/./wrapper/libxgboostwrapper.so: encabezado ELF no válido
Salida completa del comando python setup.py egg_info:
xgboost/build-python.sh: 13: xgboost/build-python.sh: empujar: no encontrado

make: *** No hay regla para hacer que el objetivo sea `python'. Detener.


Falló la creación de xgboost de subprocesos múltiples

Comience a compilar xgboost de un solo subproceso

make: *** No hay regla para hacer que el objetivo sea 'limpio'. Detener.

make: *** No hay regla para hacer que el objetivo sea `python'. Detener.

Compilación exitosa de xgboost de un solo subproceso

Si quieres una versión multiproceso

Ver instrucciones adicionales en doc/build.md

xgboost/build-python.sh: 26: xgboost/build-python.sh: popd: no encontrado

(Ninguno Ninguno)

Rastreo (llamadas recientes más última):

Expediente "", línea 17, en

Archivo "/tmp/pip_build_root/xgboost/setup.py", línea 20, en

import xgboost

Archivo "./xgboost/ init .py", línea 8, en

from .core import DMatrix, Booster

Archivo "./xgboost/core.py", línea 78, en

_LIB = _load_lib()

Archivo "./xgboost/core.py", línea 72, en _load_lib

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

Archivo "/usr/lib/python2.7/ctypes/ init .py", línea 443, en LoadLibrary

return self._dlltype(name)

Archivo "/usr/lib/python2.7/ctypes/ init .py", línea 365, en init

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

OSError: /tmp/pip_build_root/xgboost/xgboost/./wrapper/libxgboostwrapper.so: encabezado ELF no válido


Limpiar...
El comando python setup.py egg_info falló con el código de error 1 en /tmp/pip_build_root/xgboost
Almacenamiento de registro de depuración por falla en /home/ubuntu/.pip/pip.log
ubuntu@ip-172-31-11-169 :~$

@cliveldon @grfiv el control de versiones de la instalación de pip tiene algunas confusiones, ya que la versión oficial 0.4 ha estado allí durante mucho tiempo, y la instalación de pip contiene una actualización reciente del código fuente, por lo que he nombrado la versión con 0.4a12 0.4a13 algo. Se corregirá más adelante a partir del próximo lanzamiento oficial.

Una buena solución para actualizar la instalación de pip puede ser eliminar el directorio xgboost y el directorio xgboost-0.4a13.dist-info del directorio del paquete del sitio, por ejemplo, /User/phunterlau/python2.7/site-packages/ (la ubicación de instalación se puede encontrar en print xgboost.__file__ ) y rehacer 'pip install xgboost' . Gracias.

Hola,
Tengo el mismo problema en mi caja de ubuntu:

Correr :

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

Falla de la siguiente manera:

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

También lo intenté sin --pre , falla de manera idéntica.

Cualquier pista ?
Gracias,
F.

Usé pip install xgboost para instalar xgboost-0.4a14 en un Mac OSX. Cuando intenté cargarlo me salió este error.

OSError Traceback (última llamada más reciente)
en()
----> 1 importar xgboost como xgb

/Usuarios/azaitzeff/anaconda/lib/python2.7/site-packages/xgboost/ init .py en()
9 sistema operativo de importación
10
---> 11 desde .core importar DMatrix, Booster
12 de .training importar tren, cv
13 de .sklearn importar XGBModel, XGBClassifier, XGBRegressor

/Users/azaitzeff/anaconda/lib/python2.7/site-packages/xgboost/core.py en()
90
91 # carga la biblioteca XGBoost globalmente
---> 92 _LIB = _cargar_lib()
93
94 def _check_call(ret):

/Usuarios/azaitzeff/anaconda/lib/python2.7/site-packages/xgboost/core.py en _load_lib()
84 si len(ruta_lib) == 0:
85 retorno Ninguno
---> 86 lib = ctypes.cdll.LoadLibrary(ruta_lib[0])
87 lib.XGBGetLastError.restype = ctypes.c_char_p
88 vuelta libre

/Users/azaitzeff/anaconda/lib/python2.7/ctypes/ init .pyc en LoadLibrary(self, name)
441
442 def LoadLibrary(self, nombre):
--> 443 devuelve self._dlltype(nombre)
444
445 cdll = Cargador de biblioteca (CDLL)

/Users/azaitzeff/anaconda/lib/python2.7/ctypes/ init .pyc in init (self, name, mode, handle, use_errno, use_last_error)
363
364 si el identificador es Ninguno:
--> 365 self._handle = _dlopen(self._name, modo)
366 más:
367 self._handle = manejar

OSError: dlopen(/Users/azaitzeff/anaconda/lib/python2.7/site-packages/xgboost/./wrapper/libxgboostwrapper.so, 6): Biblioteca no cargada: /usr/local/lib/gcc/4.9/libgomp .1.dylib
Referenciado desde: /Users/azaitzeff/anaconda/lib/python2.7/site-packages/xgboost/./wrapper/libxgboostwrapper.so
Razón: imagen no encontrada

Alguna ayuda. Gracias
Arizona

@AZaitzeff @Fkawala Gracias. ¿Puede confirmar si tiene gcc instalado en su ubuntu o Mac? Con su información, veo el problema de lib precompilado: si no hay gcc instalado en el sistema, el script de compilación en pip fallaría. Sin embargo, en el paquete de instalación de pip, incluí una lib precompilada libxgboostwrapper.so usando gcc 4.9 de brew en Mac, por lo que si el script de compilación falla, xgboost buscará esta lib precompilada. Linux no reconoce esta biblioteca de Mac, por lo que tiene un error de código ELF; Para mac sin OpenMP, activará el error de enlace. Ahora veo que causa algunas confusiones y puede que no sea una buena idea. Actualizaré la instalación de pip y mostraré el mensaje si no hay gcc. PD Tendremos lib enlazada estática y precompilada en el próximo lanzamiento oficial, que es una mejor solución para enviar código precompilado.

@phunterlau Gracias. No tengo OpenMP en mi Mac. Así que eso es lo que estaba causando el error.

@phunterlau ok, configuraré un entorno de compilación adecuado y probaré la instalación de pip nuevamente.

Gracias por la rápida respuesta.

Así que ejecuté brew install clang-omp y se instaló. Eliminó el directorio xgboost y xgboost-0.4a13.dist-info y volvió a ejecutar pip install xgboost. Cerré las ventanas de mi terminal y las volví a abrir. Pero sigo recibiendo el mismo error al intentar importar xgboost. ¿Alguna idea?

@AZaitzeff en realidad no se recomienda clang-omp, ya que clang de Xcode no lo admite, por lo que clang-omp puede dar un resultado extraño. El paquete de instalación de mac pip fue creado y probado en gcc 4.9 desde brew con OpenMP. ¿Quieres probar con brew install gcc49 ? Ahora también tenemos gcc 5 de brew, pero no he tenido la oportunidad de probarlo por completo. Lo haré en la próxima carga de pip.

Gracias funcionó muy bien.

@phunterlau la compilación (usando ./xgboost/build-python.sh ) funciona de maravilla. Sin embargo, la instalación de pip da como resultado la lib precompilada. Modifiqué setup.py para mostrar por qué no se intenta la compilación. Con PIP 7.1.2 (python 2.7), para ejecutar:

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

da:

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

Según http://stackoverflow.com/questions/9959279/detect-pip-in-setup-py [1] la prueba 'pip' in __file__ no funciona con Py 2.7 2014-10-27 ni con instalación personalizada ( como usé en mi comentario anterior). Como se propone en [1] 'pip' in os.environ.get('_') es una forma más estándar de probar si pip se ejecuta setup.py .

@Fkawala Gracias. 'pip' in __file__ era un viejo truco de hace mucho tiempo, es bueno conocer el nuevo. Actualizaré la instalación de pip y luego enviaré un PR (con algunos otros parches).

@phunterlau Tengo un problema similar, no entendí cómo solucionar este error ELF. Estoy trabajando en ubuntu y no puedo importar el paquete xgboost después de instalarlo con pip. Escribiste sobre gcc, instalé gcc-4.9, pero aún no funciona, ¿qué me estoy perdiendo?

Aquí está mi error:

importar xgboost

OSError Traceback (última llamada más reciente)
en()
----> 1 importación xgboost
/home/antklen/anaconda/lib/python2.7/site-packages/xgboost/ init .py en()
9 sistema operativo de importación
10
---> 11 desde .core importar DMatrix, Booster
12 de .training importar tren, cv
13 de .sklearn importar XGBModel, XGBClassifier, XGBRegressor
/home/antklen/anaconda/lib/python2.7/site-packages/xgboost/core.py en()
90
91 # carga la biblioteca XGBoost globalmente
---> 92 _LIB = _cargar_lib()
93
94 def _check_call(ret):
/home/antklen/anaconda/lib/python2.7/site-packages/xgboost/core.py en _load_lib()
84 si len(ruta_lib) == 0:
85 retorno Ninguno
---> 86 lib = ctypes.cdll.LoadLibrary(ruta_lib[0])
87 lib.XGBGetLastError.restype = ctypes.c_char_p
88 vuelta libre
/home/antklen/anaconda/lib/python2.7/ctypes/__init__.pyc en LoadLibrary(self, name)
441
442 def LoadLibrary(self, nombre):
--> 443 devuelve self._dlltype(nombre)
444
445 cdll = Cargador de biblioteca (CDLL)
/home/antklen/anaconda/lib/python2.7/ctypes/__init__.pyc in init (self, name, mode, handle, use_errno, use_last_error)
363
364 si el identificador es Ninguno:
--> 365 self._handle = _dlopen(self._name, modo)
366 más:
367 self._handle = manejar
OSError: /home/antklen/anaconda/lib/python2.7/site-packages/xgboost/./wrapper/libxgboostwrapper.so: encabezado ELF no válido

@antklen en Windows, primero debe instalar las herramientas de configuración. No estoy seguro de si ese es el caso de ubuntu, pero tal vez valga la pena intentarlo.

@antklen es porque la instalación actual de pip es un script de compilación sobre la marcha y se entrega con una versión para Mac del archivo .so, en caso de que algunos usuarios de Mac no hayan instalado g++ para la compilación. Resultó que no era una buena idea y causó algunas confusiones a los usuarios de Linux.

La solución es que instale gcc y g++ apt-get install g++ , para que recoja el script de compilación.

Y, si su pip es más nuevo que 0.7.1.2, puede tener otro problema para verificar si pip se está ejecutando. Lo arreglaré y lo enviaré en la próxima versión. Si tiene g ++ pero sigue teniendo el mismo error, instálelo desde setup.py manualmente siguiendo el documento de instalación.

@smargsongithub @phunterlau ¡ Gracias por las respuestas!
apt-get install g++ tampoco funcionó para mí, pero lo logré con la instalación manual como se describe aquí https://www.kaggle.com/c/springleaf-marketing-response/forums/t/16320/cloud-vs- máquina-local-pros-y-contras
Tuve algunos problemas porque estoy usando Anaconda, así que mi receta final es

sudo apt-get install make
sudo apt-obtener actualización
sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install git
clon de sudo git https://github.com/dmlc/xgboost
cd xgboost
sudo ./build.sh
paquete cd python
sudo /home/nombre de usuario/anaconda/bin/python setup.py install

@antklen oh, necesitas sudo cuando instales g++ :-)

@Fkawala Estoy intentando 'pip' in os.environ.get('_') para el pip actualizado, pero os.environ.get('_') siempre devuelve None y esta instrucción if da error. ¿Tenemos otro método para detectar si pip en la línea de comando? De lo contrario, crearía un setup.py separado solo para pip y activaría el compilador allí. Gracias.

@phunterlau Recibo el siguiente seguimiento de pip install xgboost, ¿alguna idea? (ejecutando una Mac)

Rastreo (llamadas recientes más última):
Expediente "", línea 20, en
Archivo "/private/var/folders/7g/thc6mmqd2nb55r21htwx2slr0000gp/T/pip-build-0BlCW9/xgboost/setup.py", línea 38, en
LIB_PATH = libpath 'buscar_lib_ruta'
Archivo "/private/var/folders/7g/thc6mmqd2nb55r21htwx2slr0000gp/T/pip-build-0BlCW9/xgboost/xgboost/libpath.py", línea 47, en find_lib_path
'Lista de c andidatos:n ' + ('n'.join(dll_path)))
incorporado .XGBoostLibraryNotFound: no se puede encontrar XGBoost Libarary en la ruta del candidato, ¿ejecutó build.sh en la ruta raíz?
Lista de candidatos:
/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


El comando "python setup.py egg_info" falló con el código de error 1 en /private/var/folders/7g/thc6mmqd2nb55r21htwx2slr0000gp/T/pip-build-0BlCW9/xgboost

@pcohen89 este paquete de python se envía con código C++ y se compila sobre la marcha, por lo que es posible que necesite un compilador. ¿Tiene instalado su compilador, por ejemplo, gcc-5 o clang LLVM de Xcode? Mac no instala las herramientas de línea de comandos de xcode de forma predeterminada y puede seguir estas instrucciones http://railsapps.github.io/xcode-command-line-tools.html o, otra mejor opción es instalar homebrew http ://brew.sh/ y brew install g++-5 . La última opción (g++-5) ofrece compatibilidad con OpenMP multiproceso.

Después de instalar los compiladores, elimine la instalación anterior de xgboost y rehaga pip install xgboost

@antklen @phunterlau Intenté seguir los pasos mencionados por @antklen . Ahora, puedo ejecutar import xgboost en la terminal. Sin embargo, en anacondas ipython notebook me da el siguiente error. Cualquier ayuda por favor. Estoy usando 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 eso significa que xgboost no se compiló, ¿verdad?

  1. eliminó la antigua instalación de xgboost?
  2. xcode instalado (mac) o gcc-5 (Mac usa brew, linux usa apt-get o yum)?

pip install xgboost -v puede brindar más información sobre el mensaje de error.

@phunterlau @Jeechu y yo eliminamos la antigua instalación de xgboost e instalamos gcc,g++. XGBoost funciona bien a través de la terminal, pero al usar el portátil anaconda ipython está dando ese error.

¿Hay algún problema con la ruta de instalación?

@rajdeltarobo @Jeechu ¿cuál es la versión python de su cuaderno ipython? y, ¿cuáles son sus variables $PYTHONPATH en .bashrc (u otros archivos env de sus shells)?

Parece que su xgboost está buscando /home/simpl/anaconda/lib/python2.7/site-packages/xgboost-0.4-py2.7.egg/ que no es una ruta de instalación de pip (la instalación de pip tiene su número de versión adicional, por ejemplo, xgboost-0.4a24), por lo que el cuaderno de ipython intenta buscar su xgboost desde python setup.py install de github, por lo que el problema puede provenir de $PYTHONPATH

@phunterlau $PYTHONPATH no está definido, está devolviendo un espacio en blanco. Sin embargo, a continuación se muestra el valor de la ruta.

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

La ruta de Python es

➜  ~  which python  
/usr/bin/python

La versión de python de ipython notebook es 2.7

¿Qué tal agregar algo como esto a su PYTHONPATH:
/Users/simpl/anaconda/lib/python2.7/site-packages/

si desea usar python de anaconda, quédese con él para todo, de lo contrario, use virtualenv en lugar de tener varias instalaciones de python. Es muy confuso si hay múltiples instalaciones de python en la misma máquina.

@phunterlau No funciona. Estoy usando ubuntu así que agregué

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

Aunque, puedo ver esto al final del archivo Bashrc

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

@phunterlau Había instalado gcc y pensé que era suficiente. Tengo Xcode y todo funcionó. Gracias a todos por su apoyo en Xgboost, es increíble y todos ustedes son muy útiles.

@ pcohen89 es bueno saber que xcode ayudó. Es posible que xcode clang solo admita xgboost de subproceso único, por lo que es posible que desee probar brew install g++-5 para compatibilidad con subprocesos múltiples. de todos modos, una copia de trabajo es una buena copia.

@rajdeltarobo PATH es diferente de PYTHONPATH, donde PYTHONPATH permite que Python encuentre la instalación del paquete personalizado. Agréguelo y obtenga su bashrc.

copie /wrapper/libxgboostwrapper.so a /home/username/anaconda3/lib/python3.4/site-packages/xgboost-0.4-py3.4.egg/xgboost/ me resolvió el problema (estoy usando Ubuntu 14.04)

mi problema era:

XGBoostLibraryNotFound: No se puede encontrar XGBoost Libarary en la ruta del candidato, ¿ejecutó build.sh en la ruta raíz?
Lista de candidatos:
/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 el error de su mensaje proviene de un cambio reciente para la resolución de conflictos para la instalación de pip, pero resultó que el cambio no era una buena idea, por lo que lo revertimos (PR #572). En el futuro, esta copia no es necesaria y tendremos otra configuración de instalación separada solo para la instalación de pip con compilación sobre la marcha. Disculpe las molestias de los últimos días.

Estoy intentando instalar xgboost a través de pip, pero fallé con el mismo error que tuvo @davutpolat . Quería usar su solución, pero no tengo idea de dónde encontrar /wrapper/libxgboostwrapper.so.

@claygirl , ¿tiene gcc o clang en su sistema? por favor, dígale también a su sistema env y mensaje de error

Solución. Tenía el mismo OSError: /usr/local/lib/libxgboostwrapper.so: no se puede abrir el archivo de objeto compartido: No existe tal archivo o directorio. copié el
site-packages/xgboost-0.4-py2.7.egg/xgboost/./wrapper/libxgboostwrapper.so a /usr/local/lib/ y parece funcionar.
Pero no estoy contento con eso, ya que tengo 2.7 y 3.4. ..Alguna nueva resolución?

@dsivakumar site-packages/xgboost-0.4-py2.7.egg/xgboost/./wrapper es la ubicación esperada para libxgboostwrapper.así que si se instala con pip, y xgboost/lib_path.py ha incluido esta ruta, entonces import xgboost puede encontrarlo fácilmente. Si desea tanto 2.7 como 3.4, use virtualenv e instálelo con pip por separado, ya que pip depende de las versiones de python.

@phunterlau Gracias, esa parece la única solución.

Lo intenté varias veces pero perdí la esperanza de instalar xgboost en mi PC con sistema operativo Windows,
pero ahora puede ser que ayude a qué hacer
es el error
C: Usuarios Lijadora> pip install xgboost
Recolectando xgboost
Descargando xgboost-0.4a30.tar.gz (753kB)
100% |###############################| 753kB 397kB/s
No hay archivos/directorios en
c:usuariossanderappdatalocaltemppip-build-gqsijfxgbo
ostpip-egg-info (de PKG-INFO)
Yo uso la instalación de anaconda python
Recuerdo que en una competencia de kaggle, alguien no pudo instalar xgboos y
elige otra técnica y obtuvo 2 lugar...

El jueves 7 de enero de 2016 a las 3:31 a. m., dsivakumar [email protected] escribió:

@phunterlau https://github.com/phunterlau Gracias, parece el único
solución.


Responda a este correo electrónico directamente o véalo en GitHub
https://github.com/dmlc/xgboost/issues/463#issuecomment-169595600 .

@ Sandy4321 Windows no admite la instalación de pip ahora porque no se configuró para el compilador de línea de comandos VS, como se menciona en la guía de instalación y solución de problemas. Utilice el archivo de la solución VS en windows/ para compilar e instalar. Espero que pueda ayudarte a obtener el segundo lugar también :-)

Estoy intentando instalar Xgboost en Mac 10.10.5 sin Xcode. Primero instalé GCC 5.3 con soporte openmp por brew install gcc --sin-multilib. En segundo lugar, construyo xgboost por

clon de git --recursivo https://github.com/dmlc/xgboost
cd xgboost
exportar CC=/usr/local/bin/gcc-5
exportar CXX=/usr/local/bin/g++-5
cp hacer/config.mk ./config.mk
hacer -j4

Luego aparece el error, como se muestra a continuación,
hacer: ** [lib/libxgboost.a] Error 1hacer: * * Esperando trabajos sin terminar....
clangclang:: advertencia: advertencia: argumento no utilizado durante la compilación: '-pthread'
argumento no utilizado durante la compilación: '-pthread'
ld: biblioteca no encontrada para -lgomp
ld: biblioteca no encontrada para -lgomp
clang: error: el comando del enlazador falló con el código de salida 1 (use -v para ver la invocación)
clang: error: el comando del enlazador falló con el código de salida 1 (use -v para ver la invocación)
hacer: ** [lib/libxgboost.so] Error 1hacer: * * [xgboost] Error 1

Ignoré el error y seguí adelante. Escribí los códigos de la siguiente manera
sudo ./build.sh

Entonces dijo
clang: advertencia: argumento no utilizado durante la compilación: '-pthread'
Compilación exitosa de xgboost de un solo subproceso

¿Podría decirme por qué sigue siendo un Xgboost de un solo subproceso, aunque he instalado GCC 5 con OpenMP?
¿Qué debo hacer para cambiar el Xgboost que tenía instalado a una versión de subprocesos múltiples?

el makefile reciente funciona mejor con clang-omp.

Hola, muchas gracias por tu respuesta.
Quiere decir que ahora xgboost no necesita gcc, y clang como compilador también puede admitir subprocesos múltiples, ¿verdad? Dado que MAC 10.9 y superior viene con clang, ¿todavía necesito descargar clang-omp de homebrew?
Soy un novato. Solía ​​instalar xgboost de acuerdo con el método de este sitio web. ¿Hay una guía de instalación actualizada ahora? ¿Puede decirme cómo configurarlo?
Además, después de cambiar a clang-omp, ¿debo eliminar primero el xgboost ya instalado y luego reinstalar xgboost?
¡Gracias!

En 2016-04-03 01:34:37, "Hongliang Liu" [email protected] escribió:

el makefile reciente funciona mejor con clang-omp.


Estás recibiendo esto porque comentaste.
Responda a este correo electrónico directamente o véalo en GitHub

Thx por su rápida respuesta. De acuerdo con su sugerencia, descargué clang-omp a través de homebrew.
Entonces, ¿cuál es el siguiente paso para mí? Si debo eliminar el xgboost actual y reinstalarlo en su lugar.

cambie el compilador predeterminado en config.mk a clang-omp. Siga las instrucciones de compilación de la parte de Mac OS X.

Gracias por tu instrucción. Y cambié el compilador predeterminado en config.mk a clang-omp como este
` exportar CC = /usr/local/bin/clang-omp

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

ADD_CFLAGS = -fopenmp`

Luego compilo por
make -j8

Sin embargo, el error aparece de nuevo:
hacer: ** [lib/libxgboost.a] Error 1hacer: * * Esperando trabajos sin terminar....
clang-3.5clang-3.5: : errorerror: : no existe tal archivo o directorio: 'rabit/lib/librabit.a'no existe tal archivo o directorio: 'rabit/lib/librabit.a'

hacer: ** [lib/libxgboost.so] Error 1hacer: * * [xgboost] Error 1

¿Hay algo malo para mí?

y corro
sudo ./build.sh
el error aparece a continuación

include/dmlc/omp.h:13:9: advertencia: Advertencia: OpenMP no está disponible, el proyecto
ser compilado en código de un solo hilo. Use el compilador habilitado para OpenMP para obtener
beneficio de subprocesos múltiples. [-W#pragma-mensajes]

mensaje pragma ("Advertencia: OpenMP no está disponible, "

intente reinstalar clang-omp por brew remove clang-omp; brew install clang-omp ; solo cambie estas dos líneas (no ADD_FLAG ) en config.mk , y asegúrese de copiarlas en el mismo directorio que Makefile .

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

y ejecuta make

Usando Windows 7. Anaconda de yhat Rodeo.

Intentando instalar xgboost y obteniendo el siguiente error. Por favor ayuda.

`! pip instalar xgboost

Recolectando xgboost
Uso de xgboost-0.4a30.tar.gz en caché
No hay archivos/directorios en C:UsersUSERAppDataLocalTemppip-build-dkmqc8n1xgboostpip-egg-info (de PKG-INFO)`

@phunterlau Gracias por tu sugerencia. Probé tus instrucciones y obtuve el siguiente error. Por favor, dé alguna sugerencia.
Reinstalé clang-imp y cambié dos líneas (sin ADD_FLAG) en config.mk en el mismo directorio que Makefile.

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

Luego ejecuto sudo make -j4 y obtuve el siguiente error.

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'

Luego ejecuto sudo ./build.sh y obtengo el siguiente error

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

Hola a todos,
Para instalar Xgboost en Windows usando Python, siga las instrucciones en el siguiente hilo.

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

@boral sí, la instalación actual de pip no es compatible con la plataforma de ventanas. me alegro de que te hayas dado cuenta

@liyanjin puedes simplemente hacer 'make xgboost' para la parte central. para tener ar, es posible que deba instalar ar para mac

Estoy enfrentando un problema similar. mi error es bastante

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

Verifiqué que tengo gcc instalado.
$ preparar instalar gcc49
Advertencia: homebrew/versions/gcc49-4.9.3 ya instalado

Estoy en mac os instalé xgboost a través de anaconda

@lalmanisha Creo que estás usando Mac. La mejor práctica actual en Mac es usar clang-omp en lugar de gcc . ¿Puedes intentar instalar clang-omp desde brew y cambiar CC y CXX en config.mk a clang-omp?

Gracias por su respuesta. Sigo teniendo el mismo mensaje de error. Aquí está el
`-------------------------------------------------- -------------------------
OSError Traceback (última llamada más reciente)
en()
14 # Cualquier resultado que escriba en el directorio actual se guarda como salida.
15
---> 16 importar xgboost como xgb
17 de sklearn.linear_model import LogisticRegression
18 pandas de importación como pd

/Usuarios/mlal/anaconda/lib/python2.7/site-packages/xgboost.py en()
80
81 # cargar la biblioteca XGBoost globalmente
---> 82 xglib = cargar_xglib()
83
84

/Users/mlal/anaconda/lib/python2.7/site-packages/xgboost.py en load_xglib()
57 si len(ruta_dll) == 0:
58 aumentar XGBoostLibraryNotFound('no se pueden encontrar los archivos en la ruta del candidato' + str(dll_path))
---> 59 lib = ctypes.cdll.LoadLibrary(ruta_lib[0])
60
61 # funciones DMatrix

/Users/mlal/anaconda/lib/python2.7/ctypes/ init .pyc en LoadLibrary(self, name)
441
442 def LoadLibrary(self, nombre):
--> 443 devuelve self._dlltype(nombre)
444
445 cdll = Cargador de biblioteca (CDLL)

/Users/mlal/anaconda/lib/python2.7/ctypes/ init .pyc in init (self, name, mode, handle, use_errno, use_last_error)
363
364 si el identificador es Ninguno:
--> 365 self._handle = _dlopen(self._name, modo)
366 más:
367 self._handle = manejar

OSError: dlopen(/Users/mlal/anaconda/lib/python2.7/site-packages/libxgboostwrapper.so, 6): Biblioteca no cargada: @rpath/./libgomp.1.dylib
Referenciado desde: /Users/mlal/anaconda/lib/python2.7/site-packages/libxgboostwrapper.so
Razón: imagen no encontrada
`
cambié el archivo config.mk como se muestra a continuación

elección del compilador
exportar CC = clang-omp
exportar CXX = clang-omp
exportar MPICXX = mpicxx

sudo hacer -j4
ar crv lib/libxgboost.a
ar: no se especificaron miembros del archivo
uso: ar -d [-TLsv] archivo de almacenamiento...
ar -m [-TLsv] archivo de almacenamiento...
ar -m [-abiTLsv] archivo de almacenamiento de posición...
ar -p [-TLsv] archivo [archivo...]
ar -q [-cTLsv] archivo de almacenamiento...
ar -r [-cuTLsv] archivo de almacenamiento...
ar -r [-abciuTLsv] archivo de almacenamiento de posición...
ar -t [-TLsv] archivo [archivo...]
ar -x [-outTLsv] archivo [archivo...]
hacer: ** [lib/libxgboost.a] Error 1hacer: * * Esperando trabajos sin terminar....
clang: clang: error: error: opción no admitida '-fopenmp'opción no admitida '-fopenmp'

hacer: ** [lib/libxgboost.so] Error 1hacer: * * [xgboost] Error 1
cuando corrí
sudo ./build.sh

maker.o build/tree/updater_sync.o dmlc-core/libdmlc.a rabit/lib/librabit_empty.a -pthread -lm
clang: advertencia: argumento no utilizado durante la compilación: '-pthread'
Compilación exitosa de xgboost de un solo subproceso
Si quieres una versión multiproceso
Ver instrucciones adicionales en doc/build.md

sigo teniendo el mismo error
dlopen(/Users/mlal/anaconda/lib/python2.7/site-packages/libxgboostwrapper.so, 6): Biblioteca no cargada: @rpath/./libgomp.1.dylib
Referenciado desde: /Users/mlal/anaconda/lib/python2.7/site-packages/libxgboostwrapper.so
Razón: imagen no encontrada

ok, supongo que la combinación de la ayuda anterior y build.md me ayudó a hacer que xgboost funcione. Gracias a todos !

@lalmanisha ya que solo necesita el paquete python, puede simplemente make xgboost que elimina otros paquetes innecesarios como la versión paralela e hilo que necesita ar . Debería tener éxito make . Y me alegro de que lo hayas descubierto.

Intente instalar Xgboost con git clone en MAC. Sigo todas las instrucciones de @LiyanJin hasta esta respuesta , descargué clang-omp a través de homebrew para usar subprocesos múltiples.

  • config.mk:
export CC = clang-omp
export CXX = clang-omp++
export MPICXX = mpicxx
  • Error :
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 funciona bien, pero me gustaría tener las últimas funciones en el paquete de python.

Algunos consejos ?


Editar: Encuentra la solución. Solo xcode-select --install y make . Espero que ayude a otros.

@armgilles, eso es correcto: por defecto, mac no ha instalado los compiladores con encabezados, mientras que clang-omp necesita el Xcode instalado localmente, instalándolo por xcode-select --install todo después de actualizar a un nuevo sistema puede resolver el problema .

Tuve que construirlo desde cero:

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

La sugerencia de hnykda funcionó para mí en Ubuntu 16.0.4

@phunterlau
Tengo el mismo error.
ar crv lib/libxgboost.a
ar: no se especificaron miembros del archivo
uso: ar -d [-TLsv] archivo de almacenamiento...
ar -m [-TLsv] archivo de almacenamiento...
ar -m [-abiTLsv] archivo de almacenamiento de posición...
ar -p [-TLsv] archivo [archivo...]
ar -q [-cTLsv] archivo de almacenamiento...
ar -r [-cuTLsv] archivo de almacenamiento...
ar -r [-abciuTLsv] archivo de almacenamiento de posición...
ar -t [-TLsv] archivo [archivo...]
ar -x [-outTLsv] archivo [archivo...]
hacer: * [lib/libxgboost.a] Error 1

he instalado ar. Me pregunto qué hace el "ar crv", si puedo usar otro comando para reemplazarlo.
usted ha mencionado " @liyanjin , puede simplemente hacer 'hacer xgboost' para la parte central. Para tener ar, es posible que deba instalar ar para Mac", no entiendo qué "hacer 'hacer xgboost' para la parte central" medio. espero tus consejos

He instalado el paquete en mi MAC (macOS 10.12.3) con éxito mediante:

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 Muchas veces, la solución de trabajo es aparentemente simple. Gracias hombre.

La solución que encontré funcionó para mí fue navegar a
/home/nombre de usuario/anaconda3/lib/python3.5/site-packages/xgboost
y ejecutando ./build-python.sh

Parece que hay muchos problemas al instalar xgboost. Intenté instalarlo en Mac y también fallé. ¿Podría osmeone decirme cuál es la solución final?

lo que funcionó para mí fue agregar lo siguiente en Linux... crédito (todos los de arriba)

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

Para mí trabajó en MacOS Sierra después de:
brew install gcc --without-multilib

ejecutando estos comandos:

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

@philipshurpik ¡Muchas gracias!

@philipshurpik Eso funcionó muy bien para mí, ¡gracias!

¿Fue útil esta página
0 / 5 - 0 calificaciones