root@0c6c17725a7b :/# pip install xgboost
Baixando/descompactando xgboost
Não foi possível encontrar uma versão que satisfaça o requisito xgboost (das versões: 0.4a12, 0.4a13)
Limpando...
Nenhuma distribuição correspondente à versão do xgboost
Armazenando log de depuração para falha em /root/.pip/pip.log
Você pode repetir no docker com:
docker run -it --rm ubuntu:trusty
apt-get update
apt-get install python-pip
pip install xgboost
veja isso também:
http://stackoverflow.com/questions/32258463/install-xgboost-under-python-failing
Não parece funcionar para mim
ubuntu@ip-172-31-11-169 :~$ sudo apt-get update
... ya ya ya
ubuntu@ip-172-31-11-169 :~$ sudo apt-get install python-pip
Lendo listas de pacotes... Concluído
Construindo árvore de dependências
Lendo informações de estado... Concluído
python-pip já é a versão mais recente.
0 atualizados, 0 recém-instalados, 0 a serem removidos e 74 não atualizados.
ubuntu@ip-172-31-11-169 :~$ sudo pip install xgboost
Baixando/descompactando xgboost
Não foi possível encontrar uma versão que satisfaça o requisito xgboost (das versões: 0.4a12, 0.4a13)
Limpando...
Nenhuma distribuição correspondente à versão do xgboost
Armazenando log de depuração para falha em /home/ubuntu/.pip/pip.log
ubuntu@ip-172-31-11-169 :~$
A sugestão de stackoverflow de --pre produziu isso:
ubuntu@ip-172-31-11-169 :~$ sudo pip install --pre xgboost
Baixando/descompactando xgboost
Baixando xgboost-0.4a13.tar.gz (690kB): 690kB baixados
Executando setup.py (path:/tmp/pip_build_root/xgboost/setup.py) egg_info para o pacote xgboost
xgboost/build-python.sh: 13: xgboost/build-python.sh: pushd: não encontrado
make: * Nenhuma regra para tornar o alvo python'. Stop.
-----------------------------
Building multi-thread xgboost failed
Start to build single-thread xgboost
make: *** No rule to make target
limpo'.
Pare.Crie com sucesso o xgboost single-threadSe você quiser uma versão multi-threadVeja instruções adicionais em doc/build.mdxgboost/build-python.sh: 26: xgboost/build-python.sh: popd: não encontrado(Nenhuma, Nenhuma)Traceback (última chamada mais recente):Arquivo "
self._handle = _dlopen(self._name, modo)
OSError: /tmp/pip_build_root/xgboost/xgboost/./wrapper/libxgboostwrapper.so: cabeçalho ELF inválido
Saída completa do comando python setup.py egg_info:
xgboost/build-python.sh: 13: xgboost/build-python.sh: pushd: não encontrado
make: *** Nenhuma regra para tornar o alvo `python'. Pare.
Falha ao construir o xgboost multi-thread
Comece a construir xgboost single-thread
make: *** Nenhuma regra para tornar o alvo 'limpo'. Pare.
make: *** Nenhuma regra para tornar o alvo `python'. Pare.
Crie com sucesso o xgboost single-thread
Se você quiser uma versão multi-thread
Veja instruções adicionais em doc/build.md
xgboost/build-python.sh: 26: xgboost/build-python.sh: popd: não encontrado
(Nenhuma, Nenhuma)
Traceback (última chamada mais recente):
Arquivo "
Arquivo "/tmp/pip_build_root/xgboost/setup.py", linha 20, em
import xgboost
Arquivo " ./xgboost/init .py", linha 8, em
from .core import DMatrix, Booster
Arquivo "./xgboost/core.py", linha 78, em
_LIB = _load_lib()
Arquivo "./xgboost/core.py", linha 72, em _load_lib
lib = ctypes.cdll.LoadLibrary(lib_path[0])
Arquivo " /usr/lib/python2.7/ctypes/init .py", linha 443, em LoadLibrary
return self._dlltype(name)
Arquivo "/usr/lib/python2.7/ctypes/init .py", linha 365, em init
self._handle = _dlopen(self._name, mode)
OSError: /tmp/pip_build_root/xgboost/xgboost/./wrapper/libxgboostwrapper.so: cabeçalho ELF inválido
Limpando...
O comando python setup.py egg_info falhou com o código de erro 1 em /tmp/pip_build_root/xgboost
Armazenando log de depuração para falha em /home/ubuntu/.pip/pip.log
ubuntu@ip-172-31-11-169 :~$
@cliveseldon @grfiv o versionamento da instalação do pip tem algumas confusões, já que a versão oficial 0.4 existe há muito tempo, e a instalação do pip contém alguma atualização recente do código-fonte, então nomeei a versão com 0.4a12 0.4a13 algo. Ele será corrigido mais tarde a partir do próximo lançamento oficial.
Uma boa solução para atualizar a instalação do pip pode ser deletar o diretório xgboost e o diretório xgboost-0.4a13.dist-info ambos do diretório do pacote do site, por exemplo /User/phunterlau/python2.7/site-packages/
(o local de instalação pode ser encontrado em print xgboost.__file__
) e refaça 'pip install xgboost' . Obrigado.
Olá,
Eu tenho o mesmo problema na minha caixa ubuntu:
Para correr :
sudo -H pip install --pre xgboost
python -c "import xgboost"
Falha da seguinte forma:
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
Eu também tentei sem --pre , ele falha de forma idêntica.
Qualquer pista ?
Obrigado,
F.
Eu usei pip install xgboost para instalar o xgboost-0.4a14 em um mac OSX. Quando tentei carregá-lo, recebi esse erro.
OSError Traceback (última chamada mais recente)
----> 1 importar xgboost como xgb
/Users/azaitzeff/anaconda/lib/python2.7/site-packages/xgboost/init .py em
9 sistemas operacionais
10
---> 11 de .core importação DMatrix, Booster
12 de .training trem de importação, cv
13 de .sklearn importam XGBModel, XGBClassifier, XGBRegressor
/Users/azaitzeff/anaconda/lib/python2.7/site-packages/xgboost/core.py em
90
91 # carrega a biblioteca XGBoost globalmente
---> 92 _LIB = _load_lib()
93
94 def _check_call(ret):
/Users/azaitzeff/anaconda/lib/python2.7/site-packages/xgboost/core.py em _load_lib()
84 se len(lib_path) == 0:
85 retorno Nenhum
---> 86 lib = ctypes.cdll.LoadLibrary(lib_path[0])
87 lib.XGBGetLastError.restype = ctypes.c_char_p
88 return lib
/Users/azaitzeff/anaconda/lib/python2.7/ctypes/ init .pyc em LoadLibrary(self, name)
441
442 def LoadLibrary(self, name):
--> 443 return self._dlltype(name)
444
445 cdll = LibraryLoader(CDLL)
/Users/azaitzeff/anaconda/lib/python2.7/ctypes/ init .pyc em init (self, name, mode, handle, use_errno, use_last_error)
363
364 se handle for None:
--> 365 self._handle = _dlopen(self._name, modo)
366 mais:
367 self._handle = handle
OSError: dlopen(/Users/azaitzeff/anaconda/lib/python2.7/site-packages/xgboost/./wrapper/libxgboostwrapper.so, 6): Biblioteca não carregada: /usr/local/lib/gcc/4.9/libgomp .1.dylib
Referenciado em: /Users/azaitzeff/anaconda/lib/python2.7/site-packages/xgboost/./wrapper/libxgboostwrapper.so
Razão: imagem não encontrada
Qualquer ajuda. Obrigado
AZ
@AZaizeff @Fkawala Obrigado. Você pode confirmar se tem o gcc instalado no seu Ubuntu ou Mac? Com suas informações, vejo o problema da lib pré-compilada: se não houver gcc instalado no sistema, o script de compilação no pip falhará. No entanto, no pacote de instalação do pip, incluí uma lib pré-compilada libxgboostwrapper.so usando o gcc 4.9 do brew no Mac, portanto, se o script de compilação falhar, o xgboost procurará essa lib pré-compilada. O Linux não reconhece esta lib do Mac, então tem um erro de código ELF; Para mac sem OpenMP, ele acionará o erro de link. Agora vejo que causa algumas confusões e pode não ser uma boa ideia. Vou atualizar a instalação do pip e exibir a mensagem se não houver gcc. PS Teremos lib pré-compilada e vinculada estática na próxima versão oficial, que é uma solução melhor de envio de código pré-compilado.
@hunterlau Obrigado. Não tenho OpenMP no meu Mac. Então era isso que estava causando o erro.
@hunterlau ok, vou configurar um ambiente de compilação adequado e testar a instalação do pip novamente.
Obrigado pela resposta rápida.
Então eu executei brew install clang-omp e instalou. Excluiu o diretório xgboost e o xgboost-0.4a13.dist-info e reexecutou pip install xgboost. Fechei as janelas do meu terminal e as reabri. Mas ainda estou recebendo o mesmo erro ao tentar importar o xgboost. Alguma ideia?
@AZaizeff na verdade o clang-omp não é recomendado, já que o clang do Xcode não o suporta, então o clang-omp pode dar algum resultado estranho. O pacote de instalação do mac pip foi criado e testado no gcc 4.9 do brew com OpenMP. Você quer tentar com brew install gcc49
? Agora temos o gcc 5 do brew também, mas não tive a chance de testá-lo completamente. Vou fazê-lo no próximo upload de pip.
Obrigado funcionou muito bem.
@hunterlau a compilação (usando ./xgboost/build-python.sh
) funciona como um encanto. No entanto, a instalação do pip resulta na biblioteca pré-compilada. Modifiquei setup.py
para mostrar porque a compilação não foi tentada. Com PIP 7.1.2 (python 2.7), para executar:
pip install --user -e ./tweaked-xgboost-0.4a13/
dá:
'pip' in __file__: False
not os.name == 'nt': True
De acordo com http://stackoverflow.com/questions/9959279/detect-pip-in-setup-py [1] o teste 'pip' in __file__
não funciona com Py 2.7 2014-10-27 nem com instalação personalizada ( como usei no meu comentário anterior). Conforme proposto em [1] 'pip' in os.environ.get('_')
é uma maneira mais padrão de testar se o pip executa o setup.py
.
@Fkawala Obrigado. 'pip' in __file__
era um truque antigo de muito tempo atrás, bom conhecer o novo. Vou atualizar a instalação do pip e depois enviar um PR (com alguns outros patches).
@hunterlau Eu tenho um problema semelhante, não entendi como corrigir esse erro ELF. Estou trabalhando no Ubuntu e não consigo importar o pacote xgboost depois de instalá-lo com pip. Você escreveu sobre o gcc, instalei o gcc-4.9, mas ainda não funciona, o que está faltando?
Aqui está o meu erro:
OSError Traceback (última chamada mais recente)
----> 1 importação xgboost
/home/antklen/anaconda/lib/python2.7/site-packages/xgboost/init .py em
9 sistemas operacionais
10
---> 11 de .core importação DMatrix, Booster
12 de .training trem de importação, cv
13 de .sklearn importam XGBModel, XGBClassifier, XGBRegressor
/home/antklen/anaconda/lib/python2.7/site-packages/xgboost/core.py em
90
91 # carrega a biblioteca XGBoost globalmente
---> 92 _LIB = _load_lib()
93
94 def _check_call(ret):
/home/antklen/anaconda/lib/python2.7/site-packages/xgboost/core.py em _load_lib()
84 se len(lib_path) == 0:
85 retorno Nenhum
---> 86 lib = ctypes.cdll.LoadLibrary(lib_path[0])
87 lib.XGBGetLastError.restype = ctypes.c_char_p
88 return lib
/home/antklen/anaconda/lib/python2.7/ctypes/__init__.pyc em LoadLibrary(self, name)
441
442 def LoadLibrary(self, name):
--> 443 return self._dlltype(name)
444
445 cdll = LibraryLoader(CDLL)
/home/antklen/anaconda/lib/python2.7/ctypes/__init__.pyc em init (self, name, mode, handle, use_errno, use_last_error)
363
364 se handle for None:
--> 365 self._handle = _dlopen(self._name, modo)
366 mais:
367 self._handle = handle
OSError: /home/antklen/anaconda/lib/python2.7/site-packages/xgboost/./wrapper/libxgboostwrapper.so: cabeçalho ELF inválido
@antklen no Windows, você precisa instalar as ferramentas de configuração primeiro. não tenho certeza se esse é o caso do Ubuntu, mas talvez valha a pena tentar?
@antklen é porque a instalação atual do pip é um script de compilador on-the-fly e vem com uma versão para Mac do arquivo .so, caso alguns usuários de mac não tenham instalado o g++ para compilação. Não foi uma boa ideia e causou algumas confusões para os usuários do Linux.
A solução é que, por favor, instale gcc e g++ apt-get install g++
, para que ele pegue o script de compilação.
E, se o seu pip for mais recente que 0.7.1.2, pode haver outro problema de verificar se o pip está em execução. Vou corrigi-lo e enviá-lo na próxima versão. Se você tiver o g++, mas ainda o mesmo erro, instale manualmente do setup.py seguindo o documento de instalação.
@smargsongithub @hunterlau Obrigado pelas respostas!
apt-get install g++ também não funcionou para mim, mas consegui com a instalação manual conforme descrito aqui https://www.kaggle.com/c/springleaf-marketing-response/forums/t/16320/cloud-vs- prós e contras da máquina local
Eu tive alguns problemas porque estou usando o Anaconda, então minha receita final é
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 pacote python
sudo /home/username/anaconda/bin/python setup.py install
@antklen oh, você precisa do sudo ao instalar o g ++ :-)
@Fkawala Estou tentando 'pip' in os.environ.get('_')
para o pip atualizado, mas os.environ.get('_')
sempre retorna None
e essa instrução if dá erro. Temos outro método para detectar se pip na linha de comando? Caso contrário, eu criaria um setup.py
separado apenas para pip e acionaria o compilador lá. Obrigado.
@hunterlau Estou recebendo o seguinte rastreamento do pip install xgboost, alguma ideia? (executando um Mac)
Traceback (última chamada mais recente):
Arquivo "
Arquivo "/private/var/folders/7g/thc6mmqd2nb55r21htwx2slr0000gp/T/pip-build-0BlCW9/xgboost/setup.py", linha 38, em
LIB_PATH = libpath 'find_lib_path'
Arquivo "/private/var/folders/7g/thc6mmqd2nb55r21htwx2slr0000gp/T/pip-build-0BlCW9/xgboost/xgboost/libpath.py", linha 47, em find_lib_path
'Lista de c andidates:n ' + ('n'.join(dll_path))))
builtin .XGBoostLibraryNotFound: Não foi possível encontrar a biblioteca XGBoost no caminho candidato, você executou build.sh no caminho raiz?
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
O comando "python setup.py egg_info" falhou com o código de erro 1 em /private/var/folders/7g/thc6mmqd2nb55r21htwx2slr0000gp/T/pip-build-0BlCW9/xgboost
@pcohen89 este pacote python vem com código C++ e compila on-the-fly, então você pode precisar de um compilador. Você tem seu compilador instalado, por exemplo, gcc-5 ou clang LLVM do Xcode? O Mac não instala as ferramentas de linha de comando xcode por padrão e você pode seguir esta instrução http://railsapps.github.io/xcode-command-line-tools.html ou, outra opção melhor é instalar homebrew
http ://brew.sh/ e brew install g++-5
. A opção posterior (g++-5) oferece suporte a OpenMP multi-thread.
Após instalar os compiladores, remova a instalação antiga do xgboost e refaça pip install xgboost
@antklen @hunterlau Tentei seguir os passos mencionados por @antklen . Agora, posso executar import xgboost no terminal. No entanto, no notebook anacondas ipython, ele me dá o erro abaixo. Qualquer ajuda por favor. Estou usando o 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 isso significa que o xgboost não foi compilado, você:
pip install xgboost -v
pode informar mais sobre a mensagem de erro.
@hunterlau eu e @Jeechu removemos a instalação antiga do xgboost e instalamos o gcc,g++. O XGBoost está funcionando bem via terminal, mas usando o notebook anaconda ipython está dando esse erro.
Há algo errado com o caminho de instalação?
@rajdeltarobo @Jeechu qual é a versão python do seu notebook ipython? e quais são suas variáveis $PYTHONPATH
no .bashrc (ou outros arquivos env de seus shells)?
Parece que seu xgboost está procurando por /home/simpl/anaconda/lib/python2.7/site-packages/xgboost-0.4-py2.7.egg/
que não é um caminho de instalação do pip (a instalação do pip tem seu número de versão adicional, por exemplo, xgboost-0.4a24), então o notebook ipython tenta pesquisar seu xgboost de python setup.py install
do github, portanto, o problema pode vir de $PYTHONPATH
@hunterlau $PYTHONPATH
não está definido, está retornando um espaço em branco. No entanto, abaixo está o valor do caminho
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
O caminho do python é
➜ ~ which python
/usr/bin/python
A versão python do notebook ipython é 2.7
Que tal adicionar algo assim ao seu PYTHONPATH:
/Users/simpl/anaconda/lib/python2.7/site-packages/
se você quiser usar o python do anaconda, fique com ele para tudo, caso contrário, use virtualenv
em vez de ter várias instalações do python. É muito confuso se houver várias instalações python na mesma máquina.
@hunterlau Não está funcionando. Estou usando o ubuntu então adicionado
/home/user/anaconda/lib/python2.7/site-packages/
Embora eu possa ver isso no final do arquivo Bashrc
# added by Anaconda 2.3.0 installer
export PATH="/home/user/anaconda/bin:$PATH"
@hunterlau Eu instalei o gcc e achei que era suficiente. Peguei o Xcode e tudo funcionou. Obrigado a todos pelo apoio no Xgboost, é incrível e todos vocês são super prestativos.
@pcohen89 bom saber que o xcode ajudou. Você pode achar que o xcode clang suporta apenas xgboost de thread único, então você pode tentar brew install g++-5
para suporte multithread. de qualquer forma, uma cópia de trabalho é uma boa cópia.
@rajdeltarobo PATH é diferente de PYTHONPATH, onde PYTHONPATH permite que o python encontre a instalação do pacote personalizado. Por favor, adicione-o e forneça seu bashrc.
copie /wrapper/libxgboostwrapper.so para /home/username/anaconda3/lib/python3.4/site-packages/xgboost-0.4-py3.4.egg/xgboost/ resolveu o problema para mim (estou usando o Ubuntu 14.04)
meu problema foi:
XGBoostLibraryNotFound: Não foi possível encontrar a biblioteca XGBoost no caminho candidato, você executou build.sh no caminho raiz?
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 o erro da sua mensagem vem de uma alteração recente para resolução de conflitos para instalação do pip, mas essa alteração não foi uma boa ideia, então a revertemos (PR # 572). No futuro, esta cópia não é necessária e teremos outra configuração separada apenas para instalação do pip com compilação em tempo real. Desculpe o transtorno dos últimos dias.
Estou tentando instalar o xgboost através do pip, mas falho com o mesmo erro que o @davutpolat teve. Eu queria usar a solução dele, mas não tenho ideia de onde encontrar /wrapper/libxgboostwrapper.so.
@claygirl você tem gcc ou clang no seu sistema? por favor, informe também o env do seu sistema e a mensagem de erro
Solução. Eu tive o mesmo OSError: /usr/local/lib/libxgboostwrapper.so: não é possível abrir o arquivo de objeto compartilhado: Nenhum arquivo ou diretório. eu copiei o
site-packages/xgboost-0.4-py2.7.egg/xgboost/./wrapper/libxgboostwrapper.so para /usr/local/lib/ e parece estar funcionando.
Mas não estou feliz com isso, pois tenho 2.7 e 3.4. ..Alguma nova resolução?
@dsivakumar site-packages/xgboost-0.4-py2.7.egg/xgboost/./wrapper é o local esperado para libxgboostwrapper.so se instalar com pip, e xgboost/lib_path.py incluiu este caminho então import xgboost
pode encontrá-lo facilmente. Se você deseja 2.7 e 3.4, use virtualenv e instale com pip separadamente, pois o pip depende das versões do python.
@hunterlau Obrigado, essa parece ser a única solução.
Tentei várias vezes, mas perdi a esperança de instalar o xgboost no meu PC com sistema operacional Windows,
mas agora pode ser que você vai ajudar o que fazer
é o erro
C:UsersSander>pip install xgboost
Coletando xgboost
Baixando xgboost-0.4a30.tar.gz (753kB)
100% |###############################| 753kB 397kB/s
Nenhum arquivo/diretório em
c:userssanderappdatalocaltemppip-build-gqsijfxgbo
ostpip-egg-info (de PKG-INFO)
Eu uso a instalação do python anaconda
Lembro-me de uma competição do kaggle, alguém falhou ao instalar o xgboos e
escolhe outra técnica e ficou em 2º lugar...
Em quinta-feira, 7 de janeiro de 2016 às 3h31, dsivakumar [email protected] escreveu:
@hunterlau https://github.com/hunterlau Obrigado, esse parece ser o único
solução.—
Responda a este e-mail diretamente ou visualize-o no GitHub
https://github.com/dmlc/xgboost/issues/463#issuecomment -169595600.
@ Sandy4321 O Windows não suporta a instalação do pip agora porque não foi definido para o compilador de linha de comando do VS, conforme mencionado no guia de instalação e na solução de problemas. Por favor, use o arquivo de solução VS em windows/
para compilar e instalar. Espero que possa ajudá-lo a obter o 2º lugar também :-)
Estou tentando instalar o Xgboost no Mac 10.10.5 sem o Xcode. Primeiro instalei o GCC 5.3 com suporte a openmp por brew install gcc --without-multilib. Em segundo lugar, eu construo o xgboost por
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
fazer -j4
Em seguida, aparece o erro, conforme abaixo,
make: ** [lib/libxgboost.a] Erro 1make: * * Aguardando trabalhos inacabados....
clangclang: : warning: warning: argumento não utilizado durante a compilação: '-pthread'
argumento não utilizado durante a compilação: '-pthread'
ld: biblioteca não encontrada para -lgomp
ld: biblioteca não encontrada para -lgomp
clang: erro: o comando do vinculador falhou com o código de saída 1 (use -v para ver a invocação)
clang: erro: o comando do vinculador falhou com o código de saída 1 (use -v para ver a invocação)
make: ** [lib/libxgboost.so] Erro 1make: * * [xgboost] Erro 1
Ignorei o erro e continuei. Eu digitei os códigos como abaixo
sudo ./build.sh
Então disse
clang: aviso: argumento não utilizado durante a compilação: '-pthread'
Crie com sucesso o xgboost single-thread
Você poderia me dizer por que ainda é um Xgboost de thread único, embora eu tenha instalado o GCC 5 com OpenMP.
O que devo fazer para alterar o Xgboost que instalei em uma versão multithread?
o makefile recente funciona melhor com clang-omp.
Olá, muito obrigado pela sua resposta.
Você quer dizer que agora o xgboost não precisa do gcc, e o clang como compilador também pode suportar vários threads, certo? Como o MAC 10.9 e superior vem com clang, ainda preciso baixar o clang-omp do homebrew
Eu sou um novato. Eu costumava instalar o xgboost de acordo com o método deste site. Existe um guia de instalação atualizado agora? Você pode me dizer como configurá-lo?
Além disso, depois de mudar para clang-omp, preciso primeiro excluir o xgboost já instalado e depois reinstalar o xgboost?
Obrigado!
Em 03/04/2016 01:34:37, "Hongliang Liu" [email protected] escreveu:
o makefile recente funciona melhor com clang-omp.
—
Você está recebendo isso porque comentou.
Responda a este e-mail diretamente ou visualize-o no GitHub
Thx pela sua resposta rápida. De acordo com sua sugestão, baixei o clang-omp via homebrew.
Então, qual é o próximo passo para mim? Se devo remover o xgboost atual e reinstalá-lo.
por favor altere o compilador padrão em config.mk para clang-omp. Por favor, siga as instruções de construção da parte Mac OS X.
Thx para sua instrução. E eu mudei o compilador padrão no config.mk para clang-omp assim
` export CC = /usr/local/bin/clang-omp
export CXX = /usr/local/bin/clang-omp++
ADD_CFLAGS = -fopenmp`
Então eu compilo por
make -j8
No entanto, o erro aparece novamente:
make: ** [lib/libxgboost.a] Erro 1make: * * Aguardando trabalhos inacabados....
clang-3.5clang-3.5: : errorerror: : nenhum arquivo ou diretório: 'rabit/lib/librabit.a' nenhum arquivo ou diretório: 'rabit/lib/librabit.a'
make: ** [lib/libxgboost.so] Erro 1make: * * [xgboost] Erro 1
Há algo errado para mim?
E eu corro
sudo ./build.sh
erro aparece como abaixo
include/dmlc/omp.h:13:9: aviso: Aviso: OpenMP não está disponível, o projeto será
ser compilado em código de thread único. Use o compilador habilitado para OpenMP para obter
benefício do multi-threading. [-W#pragma-messages]pragma message("Aviso: OpenMP não está disponível, "
tente reinstalar clang-omp
por brew remove clang-omp; brew install clang-omp
; apenas altere essas duas linhas (sem ADD_FLAG
) em config.mk
e certifique-se de copiá-las para o mesmo diretório que Makefile
.
export CC = clang-omp
export CXX = clang-omp++
e corra make
Usando o Windows 7. Anaconda do yhat Rodeo.
Tentando instalar o xgboost e recebendo o seguinte erro. Por favor ajude.
`! pip instalar xgboost
Coletando xgboost
Usando xgboost-0.4a30.tar.gz em cache
Nenhum arquivo/diretório em C:UsersUSERAppDataLocalTemppip-build-dkmqc8n1xgboostpip-egg-info (de PKG-INFO)`
@hunterlau Obrigado pela sua sugestão. Eu tentei sua instrução e obtendo o seguinte erro. Por favor, dê alguma sugestão.
Reinstalei o clang-imp e alterei duas linhas (sem ADD_FLAG) no config.mk no mesmo diretório que o Makefile está
export CC = clang-omp
export CXX = clang-omp++
Então eu corro sudo make -j4
e recebi o seguinte erro.
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'
Então eu corro sudo ./build.sh
e recebo o seguinte erro
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
Olá a todos,
Para instalar o Xgboost no Windows usando Python, siga as instruções no tópico a seguir.
@boral sim, a instalação atual do pip não suporta a plataforma de janela. feliz por ter descoberto
@liyanjin você pode apenas fazer 'make xgboost' para a parte principal. para ter ar, talvez seja necessário instalar ar para mac
Estou enfrentando problema semelhante. Meu erro é 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
Verifiquei se o gcc está instalado.
$ brew instalar gcc49
Aviso: homebrew/versions/gcc49-4.9.3 já instalado
Estou no mac os instalei o xgboost através do anaconda
@lalmanisha , acredito que você esteja usando o Mac. A prática recomendada atual no Mac é usar clang-omp
em vez de gcc
. Você pode tentar instalar clang-omp
do brew e alterar o CC e CXX no config.mk para clang-omp?
Obrigado pela sua resposta. Ainda recebo a mesma mensagem de erro. Aqui está o
`------------------------------------------------- -------------------------
OSError Traceback (última chamada mais recente)
14 # Quaisquer resultados que você gravar no diretório atual são salvos como saída.
15
---> 16 importar xgboost como xgb
17 de sklearn.linear_model import LogisticRegression
18 pandas de importação como pd
/Users/mlal/anaconda/lib/python2.7/site-packages/xgboost.py em
80
81 # carrega a biblioteca XGBoost globalmente
---> 82 xglib = load_xglib()
83
84
/Users/mlal/anaconda/lib/python2.7/site-packages/xgboost.py em load_xglib()
57 se len(dll_path) == 0:
58 raise XGBoostLibraryNotFound('não foi possível encontrar os arquivos no caminho candidato ' + str(dll_path))
---> 59 lib = ctypes.cdll.LoadLibrary(lib_path[0])
60
61 # funções DMatrix
/Users/mlal/anaconda/lib/python2.7/ctypes/ init .pyc em LoadLibrary(self, name)
441
442 def LoadLibrary(self, name):
--> 443 return self._dlltype(name)
444
445 cdll = LibraryLoader(CDLL)
/Users/mlal/anaconda/lib/python2.7/ctypes/ init .pyc em init (self, name, mode, handle, use_errno, use_last_error)
363
364 se handle for None:
--> 365 self._handle = _dlopen(self._name, modo)
366 mais:
367 self._handle = handle
OSError: dlopen(/Users/mlal/anaconda/lib/python2.7/site-packages/libxgboostwrapper.so, 6): Biblioteca não carregada: @rpath/./libgomp.1.dylib
Referenciado de: /Users/mlal/anaconda/lib/python2.7/site-packages/libxgboostwrapper.so
Razão: imagem não encontrada
`
eu mudei o arquivo config.mk como abaixo
escolha do compilador
export CC = clang-omp
export CXX = clang-omp
exportar MPICXX = mpicxx
sudo make -j4
ar crv lib/libxgboost.a
ar: nenhum membro do arquivo especificado
uso: ar -d [-TLsv] arquivo morto ...
ar -m [-TLsv] arquivo morto ...
ar -m [-abiTLsv] posição arquivo de arquivo ...
ar -p [-TLsv] arquivo [arquivo ...]
ar -q [-cTLsv] arquivo de arquivo ...
ar -r [-cuTLsv] arquivo morto ...
ar -r [-abciuTLsv] posição arquivo de arquivo ...
ar -t [-TLsv] arquivo [arquivo ...]
ar -x [-ouTLsv] arquivo [arquivo ...]
make: ** [lib/libxgboost.a] Erro 1make: * * Aguardando trabalhos inacabados....
clang: clang: erro: erro: opção não suportada '-fopenmp'opção não suportada '-fopenmp'
make: ** [lib/libxgboost.so] Erro 1make: * * [xgboost] Erro 1
Quando eu corri
sudo ./build.sh
maker.o build/tree/updater_sync.o dmlc-core/libdmlc.a rabit/lib/librabit_empty.a -pthread -lm
clang: aviso: argumento não utilizado durante a compilação: '-pthread'
Crie com sucesso o xgboost single-thread
Se você quiser uma versão multi-thread
Veja instruções adicionais em doc/build.md
ainda recebo o mesmo erro
dlopen(/Users/mlal/anaconda/lib/python2.7/site-packages/libxgboostwrapper.so, 6): Biblioteca não carregada: @rpath/./libgomp.1.dylib
Referenciado de: /Users/mlal/anaconda/lib/python2.7/site-packages/libxgboostwrapper.so
Razão: imagem não encontrada
ok, acho que a combinação acima de alguma ajuda e build.md me ajudou a fazer o xgboost funcionar. Obrigado a todos!
@lalmanisha já que você só precisa do pacote python, você pode apenas make xgboost
que remove outros pacotes desnecessários como a versão paralela e yarn que precisa ar
. Deve ter sucesso make
. E que bom que você descobriu.
Tente instalar o Xgboost com git clone
no MAC. Eu sigo todas as instruções de @LiyanJin até esta resposta , baixei o clang-omp via homebrew para usar multi-threading.
export CC = clang-omp
export CXX = clang-omp++
export MPICXX = mpicxx
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 bem, mas eu gostaria de ter os últimos recursos do pacote python.
Algumas dicas ?
Editar: encontre a solução. Apenas xcode-select --install
e make
. Espero que ajude outros.
@armgilles está certo: por padrão, o mac não instalou os compiladores com cabeçalhos enquanto clang-omp
precisa do Xcode instalado localmente, instalando-o por xcode-select --install
tudo após a atualização para um novo sistema pode resolver o problema .
Eu tive que construir do zero:
git clone --recursive https://github.com/dmlc/xgboost.git
cd xgboost
./build.sh
pip install -e python-package
A sugestão hnykda funcionou para mim no Ubuntu 16.0.4
@hunterlau
Eu tenho o mesmo erro.
ar crv lib/libxgboost.a
ar: nenhum membro do arquivo especificado
uso: ar -d [-TLsv] arquivo morto ...
ar -m [-TLsv] arquivo morto ...
ar -m [-abiTLsv] posição arquivo de arquivo ...
ar -p [-TLsv] arquivo [arquivo ...]
ar -q [-cTLsv] arquivo de arquivo ...
ar -r [-cuTLsv] arquivo morto ...
ar -r [-abciuTLsv] posição arquivo de arquivo ...
ar -t [-TLsv] arquivo [arquivo ...]
ar -x [-ouTLsv] arquivo [arquivo ...]
make: * [lib/libxgboost.a] Erro 1
eu instalei ar. Eu estou querendo saber o que o "ar crv" faz, se eu posso usar outro comando para substituir.
você mencionou " @liyanjin você pode apenas fazer 'make xgboost' para a parte principal. para ter ar, talvez seja necessário instalar ar para mac", não entendo o que "faça 'make xgboost' para a parte principal" meios. espero seus conselhos
Eu instalei o pacote no meu MAC (macOS 10.12.3) com sucesso por:
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 Muitas vezes, a solução de trabalho é aparentemente simples. Obrigado, cara.
A solução que encontrei funcionou para mim foi navegar para
/home/username/anaconda3/lib/python3.5/site-packages/xgboost
e executando ./build-python.sh
Parece que há muitos problemas ao instalar o xgboost. tentei instalar no Mac e também falhei. Osmeone poderia me dizer qual é a solução final?
o que funcionou para mim foi adicionar o seguinte no linux ... crédito (todos acima)
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 mim, trabalhei no MacOS Sierra depois de:
brew install gcc --without-multilib
executando estes comandos:
export CC=gcc-7
export CXX=g++-7
@philipshurpik Muito obrigado!
@philipshurpik Isso funcionou muito bem para mim, obrigado!
Comentários muito úteis
Eu tive que construir do zero: