Sou um novo usuário do Ubuntu e recentemente baixei a versão para desktop do Ubuntu 14.04 junto com o Windows 10.
As configurações do meu PC são: 4 GB de RAM, 64 bits
Eu instalei o Anaconda usando o seguinte comando do terminal (após baixar do site):
bash Anaconda3-2.5.0-Linux-x86_64.sh
A instalação foi bem-sucedida.
Agora, no meu terminal ubuntu, segui os passos instruídos em http://xgboost.readthedocs.org/en/latest/build.html#building -on-ubuntu-debian
git clone --recursive https://github.com/dmlc/xgboost cd xgboost; make -j4
sudo apt-get install python-setuptools
(bem-sucedido)cd python-package
sudo python setup.py install
O comando 5. retorna um erro após várias linhas. O erro é o seguinte:
'ImportError: Nenhum módulo denominado numpy.distutils.core'
Alguém pode sugerir como me livrar desse erro para que eu possa instalar o xgboost?
O registro completo após a etapa 5. é o seguinte:
_sidvash @ sidvash-HP-Pavilion-g6-Notebook-PC: ~ / xgboost / python-package $ sudo python setup.py install
Instale libxgboost de: ['/home/sidvash/xgboost/python-package/xgboost/../../lib/libxgboost.so']
executando instalação
executando bdist_egg
executando egg_info
escrever requisitos em xgboost.egg-info / requires.txt
escrevendo xgboost.egg-info / PKG-INFO
escrever nomes de nível superior em xgboost.egg-info / top_level.txt
escrever dependency_links em xgboost.egg-info / dependency_links.txt
lendo o arquivo de manifesto 'xgboost.egg-info / SOURCES.txt'
lendo o modelo de manifesto 'MANIFEST.in'
aviso: não foram encontrados arquivos correspondentes a '_' no diretório 'xgboost / include'
aviso: não foram encontrados arquivos correspondentes a '_' no diretório 'xgboost / src'
aviso: nenhum arquivo incluído anteriormente correspondente a 'xgboost / build / _' encontrado em qualquer lugar na distribuição
aviso: nenhum arquivo incluído anteriormente correspondente a 'xgboost / _. o' encontrado em qualquer lugar na distribuição
aviso: nenhum arquivo incluído anteriormente que corresponda a '_.pyo' encontrado em qualquer lugar na distribuição
aviso: nenhum arquivo incluído anteriormente que corresponda a '_.pyc' foi encontrado em qualquer lugar da distribuição
gravando o arquivo de manifesto 'xgboost.egg-info / SOURCES.txt'
instalando o código da biblioteca para build / bdist.linux-x86_64 / egg
executando install_lib
executando build_py
criando build / bdist.linux-x86_64 / egg
criando build / bdist.linux-x86_64 / egg / xgboost
copiando build / lib.linux-x86_64-2.7 / xgboost / libpath.py -> build / bdist.linux-x86_64 / egg / xgboost
copiando build / lib.linux-x86_64-2.7 / xgboost / VERSION -> build / bdist.linux-x86_64 / egg / xgboost
copiando build / lib.linux-x86_64-2.7 / xgboost / build-python.sh -> build / bdist.linux-x86_64 / egg / xgboost
copiando build / lib.linux-x86_64-2.7 / xgboost / __ init__.py -> build / bdist.linux-x86_64 / egg / xgboost
copiando build / lib.linux-x86_64-2.7 / xgboost / training.py -> build / bdist.linux-x86_64 / egg / xgboost
copiando build / lib.linux-x86_64-2.7 / xgboost / compat.py -> build / bdist.linux-x86_64 / egg / xgboost
copiando build / lib.linux-x86_64-2.7 / xgboost / core.py -> build / bdist.linux-x86_64 / egg / xgboost
copiando build / lib.linux-x86_64-2.7 / xgboost / sklearn.py -> build / bdist.linux-x86_64 / egg / xgboost
copiando build / lib.linux-x86_64-2.7 / xgboost / plotting.py -> build / bdist.linux-x86_64 / egg / xgboost
byte-compiling build / bdist.linux-x86_64 / egg / xgboost / libpath.py para libpath.pyc
byte-compiling build / bdist.linux-x86_64 / egg / xgboost / init .py para init .pyc
byte-compiling build / bdist.linux-x86_64 / egg / xgboost / training.py para training.pyc
byte-compiling build / bdist.linux-x86_64 / egg / xgboost / compat.py para compat.pyc
byte-compiling build / bdist.linux-x86_64 / egg / xgboost / core.py para core.pyc
byte-compiling build / bdist.linux-x86_64 / egg / xgboost / sklearn.py para sklearn.pyc
byte-compiling build / bdist.linux-x86_64 / egg / xgboost / plotting.py para plotting.pyc
instalando dados do pacote para build / bdist.linux-x86_64 / egg
executando install_data
copiando /home/sidvash/xgboost/python-package/xgboost/../../lib/libxgboost.so -> build / bdist.linux-x86_64 / egg / xgboost
criando build / bdist.linux-x86_64 / egg / EGG-INFO
copiando xgboost.egg-info / PKG-INFO -> build / bdist.linux-x86_64 / egg / EGG-INFO
copiando xgboost.egg-info / SOURCES.txt -> build / bdist.linux-x86_64 / egg / EGG-INFO
copiando xgboost.egg-info / dependency_links.txt -> build / bdist.linux-x86_64 / egg / EGG-INFO
copiando xgboost.egg-info / not-zip-safe -> build / bdist.linux-x86_64 / egg / EGG-INFO
copiando xgboost.egg-info / requires.txt -> build / bdist.linux-x86_64 / egg / EGG-INFO
copiando xgboost.egg-info / top_level.txt -> build / bdist.linux-x86_64 / egg / EGG-INFO
criando 'dist / xgboost-0.4-py2.7.egg' e adicionando 'build / bdist.linux-x86_64 / egg' a ele
removendo 'build / bdist.linux-x86_64 / egg' (e tudo sob ele)
Processando xgboost-0.4-py2.7.egg
removendo '/usr/local/lib/python2.7/dist-packages/xgboost-0.4-py2.7.egg' (e tudo sob ele)
criando /usr/local/lib/python2.7/dist-packages/xgboost-0.4-py2.7.egg
Extraindo xgboost-0.4-py2.7.egg para /usr/local/lib/python2.7/dist-packages
xgboost 0.4 já é a versão ativa em easy-install.pth
/Usr/local/lib/python2.7/dist-packages/xgboost-0.4-py2.7.egg instalado
Dependências de processamento para xgboost == 0.4
Procurando por scipy
Lendo https://pypi.python.org/simple/scipy/
Melhor correspondência: scipy 0.17.0
Fazendo download de https://pypi.python.org/packages/source/s/scipy/scipy-0.17.0.zip#md5 = 28a4fe29e980804db162524f10873211
Processando scipy-0.17.0.zip
Escrevendo /tmp/easy_install-2YPTnH/scipy-0.17.0/setup.cfg
Executando scipy-0.17.0 / setup.py -q bdist_egg --dist-dir /tmp/easy_install-2YPTnH/scipy-0.17.0/egg-dist-tmp-z4NE5c
Traceback (última chamada mais recente):
Arquivo "setup.py", linha 39, em
url = 'https: //github.com/dmlc/xgboost')
Arquivo "/usr/lib/python2.7/distutils/core.py", linha 151, na configuração
dist.run_commands ()
Arquivo "/usr/lib/python2.7/distutils/dist.py", linha 953, em run_commands
self.run_command (cmd)
Arquivo "/usr/lib/python2.7/distutils/dist.py", linha 972, em run_command
cmd_obj.run ()
Arquivo "/usr/lib/python2.7/dist-packages/setuptools/command/install.py", linha 73, em execução
self.do_egg_install ()
Arquivo "/usr/lib/python2.7/dist-packages/setuptools/command/install.py", linha 96, em do_egg_install
cmd.run ()
Arquivo "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", linha 381, em execução
self.easy_install (especificação, não self.no_deps)
Arquivo "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", linha 597, em easy_install
return self.install_item (None, spec, tmpdir, deps, True)
Arquivo "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", linha 648, em install_item
self.process_distribution (spec, dist, deps)
Arquivo "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", linha 694, em process_distribution
[requisito], self.local_index, self.easy_install
Arquivo "/usr/lib/python2.7/dist-packages/pkg_resources.py", linha 620, na resolução
dist = best [req.key] = env.best_match (req, ws, instalador)
Arquivo "/usr/lib/python2.7/dist-packages/pkg_resources.py", linha 858, em best_match
return self.obtain (req, installer) # try and download / install
Arquivo "/usr/lib/python2.7/dist-packages/pkg_resources.py", linha 870, em obter
devolver o instalador (requisito)
Arquivo "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", linha 616, em easy_install
return self.install_item (spec, dist.location, tmpdir, deps)
Arquivo "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", linha 646, em install_item
dists = self.install_eggs (spec, download, tmpdir)
Arquivo "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", linha 834, em install_eggs
return self.build_and_install (setup_script, setup_base)
Arquivo "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", linha 1040, em build_and_install
self.run_setup (setup_script, setup_base, args)
Arquivo "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", linha 1025, em run_setup
run_setup (setup_script, args)
Arquivo "/usr/lib/python2.7/dist-packages/setuptools/sandbox.py", linha 50, em run_setup
lambda: execfile (
Arquivo "/usr/lib/python2.7/dist-packages/setuptools/sandbox.py", linha 100, em execução
return func ()
Arquivo "/usr/lib/python2.7/dist-packages/setuptools/sandbox.py", linha 52, em
{' arquivo ': setup_script, ' nome ': ' principal '}
Arquivo "setup.py", linha 265, em
Arquivo "setup.py", linha 253, em setup_package
ImportError: Nenhum módulo denominado numpy.distutils`_
Tem certeza de que está usando o python certo?
Experimente
which python
ou
readlink -f `which python`
para determinar se você está usando o Anaconda ou não.
Oi,
Obrigado por comentar.
qual python retorna o seguinte:
/ home / sidvash / anaconda3 / bin / python
@brickerino : Acabei de atualizar o log completo após a etapa 5 na descrição. Por favor, veja se isso ajuda.
A mensagem mostra que você não está tendo um numpy, por favor, verifique se seu PYTHON_PATH está apontando para o caminho do pacote anaconda. Além disso, certifique-se de que conda install numpy se ainda não
@phunterlau :
Eu verifiquei o python_path usando o comando a seguir:
python -c "import sys; print (sys.path)"
Ele retorna :
['', '/home/sidvash/anaconda3/lib/python35.zip', '/home/sidvash/anaconda3/lib/python3.5', '/home/sidvash/anaconda3/lib/python3.5/plat- linux ',' /home/sidvash/anaconda3/lib/python3.5/lib-dynload ',' /home/sidvash/anaconda3/lib/python3.5/site-packages ',' / home / sidvash / anaconda3 / lib /python3.5/site-packages/Sphinx-1.3.5-py3.5.egg ',' /home/sidvash/anaconda3/lib/python3.5/site-packages/cryptography-1.0.2-py3.5- linux-x86_64.egg ',' /home/sidvash/anaconda3/lib/python3.5/site-packages/setuptools-19.6.2-py3.5.egg ']
Isso parece bom para mim. No entanto, vejo em meu primeiro post que o caminho "/usr/lib/python2.7/dist-packages" aparece em várias linhas no erro e não tenho certeza se isso também deve estar lá no caminho python ou não. Você poderia sugerir alguma coisa?
Também executei "conda install numpy", que retornou o seguinte :
Usando o site da API Anaconda Cloud https://api.anaconda.org
Buscando metadados do pacote: ....
Resolvendo as especificações do pacote: ......................
Plano de pacote para instalação em environment / home / sidvash / anaconda3:
Os seguintes pacotes serão baixados:
| pacote | construir |
| --- | --- |
| roda-0.29.0 | py35_0 82 KB |
Os seguintes pacotes serão ATUALIZADOS:
wheel: 0.26.0-py35_1 --> 0.29.0-py35_0
Continuar ([s] / n)? y
Buscando pacotes ...
wheel-0.29.0-p 100% | ###################################### | Tempo: 0:00:01 50,38 kB / s
Extraindo pacotes ...
[COMPLETO] | ####################################################################################################### ##### | 100%
Desvinculando pacotes ...
[COMPLETO] | ####################################################################################################### ##### | 100%
Vinculando pacotes ...
[COMPLETO] | ############################################################################################################### ##### | 100
Tentei sudo python setup.py install depois de instalar, mas sem sorte, continua o mesmo erro
bem, você tem python do sistema e anaconda, e python 2 3 ambos, e você tem a ferramenta de configuração do sistema, então algum env bagunçou. posso sugerir a criação de um virtualenv e instalar o numpy scikit-learn e xgboost
@phunterlau : Obrigado pelo seu comentário. Eu realmente aprecio sua ajuda.
Sou um novato no Ubuntu e não quero bagunçar mais as coisas.
Você poderia me dizer um processo passo a passo para fazer isso?
Eu sei que posso criar um virtualenv usando o seguinte: (instalar o virtualenv não é recomendado com conda)
conda create -n <env_name> python=3.5 anaconda
E então como devo instalar o numpy scikit-learn e o xgboost neste env?
Posso ativar o env:
source activate <env_name>
Devo então prosseguir com outras instalações da seguinte forma:
pip install numpy
pip install scikit-learn
E para xgboost devo repetir todos esses passos?
git clone --recursive https://github.com/dmlc/xgboost cd xgboost; make -j4
cd python-package;
sudo python setup.py install
Ok, fiz o seguinte, mas ainda obtive exatamente o mesmo erro:
conda create -n snakes python=3.5 numpy pandas scikit-learn
sidvash:~$ source activate snakes
discarding /home/sidvash/anaconda3/bin from PATH
prepending /home/sidvash/anaconda3/envs/snakes/bin to PATH
cd xgboost/python-package
sudo python setup.py install
Por algum motivo, a instalação ainda continua referindo-se a "/usr/lib/python2.7/dist-packages"
Eu resolvi isso seguindo as etapas abaixo:
Isso funcionou como um encanto. Eu não tentei isso antes, pois foi mencionado no site do github que você deve instalar a partir do github para a versão mais recente.
Postei esta questão no estouro de pilha e alguém sugeriu isso. Aqui está o link:
http://stackoverflow.com/questions/35332300/importerror-no-module-named-numpy-distutils-core-ubuntu-xgboost-installation/35493714#35493714
De qualquer forma, muito obrigado pela ajuda pessoal: @brickerino @phunterlau
Que bom que pip install xgboost
ajudou :-)
Se 'pip install xgboost' não funcionar para você, esse problema também pode ser corrigido fazendo
sudo -s
python setup.py install
O problema é que 'sudo python' usará o Python do sistema em vez do python do anacoda.
Mais detalhes: http://stackoverflow.com/questions/30626160/anaconda-python-not-available-from-sudo
@ knguyen0105 Bom funcionou para mim .... obrigado cara .... :)
@ knguyen0105 dando erro
"/home/ashish/anaconda2/bin/../lib/libgomp.so.1: versão` GOMP_4.0 'não encontrada (exigido por /home/ashish/anaconda2/lib/python2.7/site-packages/xgboost /./lib/libxgboost.so) "
alguem pode ajudar?
o que PYTHON_PATH
deve retornar?
@ knguyen0105 Funcionou muito bem para mim! Obrigado!
Obrigado knguyen0105, Resumo para Ubuntu, anaconda 2:
@ knguyen0105 , muito obrigado
Comentários muito úteis
Se 'pip install xgboost' não funcionar para você, esse problema também pode ser corrigido fazendo
O problema é que 'sudo python' usará o Python do sistema em vez do python do anacoda.
Mais detalhes: http://stackoverflow.com/questions/30626160/anaconda-python-not-available-from-sudo