Windows 7, R funciona bem
python 2.7.10 | EPD 7.5-3 (64 bits), numpy, scipy, theano etc funciona bem
Degraus:
python setup.py install
, novamente sem erros visíveis>>>import xgboost
File "<stdin>", line 1, in <module>
File "xgboost\__init__.py", line 11, in <module>
from .core import DMatrix, Booster
File "xgboost\core.py", line 83, in <module>
_LIB = _load_lib()
File "xgboost\core.py", line 77, in _load_lib
lib = ctypes.cdll.LoadLibrary(lib_path[0])
File "P:\Python\Python27\lib\ctypes\__init__.py", line 443, in LoadLibrary
return self._dlltype(name)
File "P:\Python\Python27\lib\ctypes\__init__.py", line 365, in __init__
self._handle = _dlopen(self._name, mode)
WindowsError: [Error 127] The specified procedure could not be found
Eu hackeei o core.py para verificar qual biblioteca ele realmente tenta carregar :)
ele realmente procura a dll certa
/Sources/xgb/python-package/xgboost/../../lib/libxgboost.dll
que é exatamente onde está localizado, recém-construído há alguns minutos
Como você constrói o xgboost?
você deve seguir isso:
http://xgboost.readthedocs.io/en/latest/build.html#building -on-windows
Eu tive exatamente o mesmo erro com você.
Tente desinstalar outra versão do Python em sua máquina e reinicie. Eu sei que esta não é uma boa solução, mas funciona para mim.
Eu tive o mesmo erro, mas a correção deixa muitas perguntas sem resposta. Eu originalmente compilei com minGW usando algumas instruções mais claras .
Acontece que, por qualquer motivo, ter o caminho mingw no _início_ do caminho do sistema (em vez de terminar para mim) resolveu o problema dessa compilação.
>>> dir = r'C:\Program Files\mingw-w64\x86_64-6.2.0-posix-seh-rt_v5-rev1\mingw64\bin'
>>> import os
>>> os.environ['PATH'].count(dir) # Here I show its already in the path at least once
1
>>> os.environ['PATH'].find(dir) # We see its at the end of my path
1491
>>> os.environ['PATH'] = dir + ';' + os.environ['PATH'] # I put it on the beginning of the path, NOT THE END.
>>> import xgboost # I modified core.py to print the directory of the requested dll. It imports successfully.
C:\Users\Joey\Anaconda2\lib\site-packages\xgboost-0.6-py2.7.egg\xgboost\libxgboost.dll
Esta é a única maneira que funcionou
Observe que o diretório da dll solicitada é o mesmo no caso de falha e sucesso, portanto, não é isso. A única coisa que muda é colocar o diretório mingw/bin no início da variável de caminho. Portanto, acredito que possa ser um problema com o minGW ou como o minGW e o python estavam se comunicando (não um especialista aqui).
A correção REAL foi compilar usando o Visual Studio, instalando o cmake (adicione ao seu caminho durante a instalação!) Portanto, no total: siga as instruções usando o Git para Windows, clone o repositório, instale o cmake e adicione 'cmake' ao seu caminho, siga as instruções de instalação do visual studio para criar usando cmake e visual studio (instale a edição mais recente da comunidade do visual studio se você ainda não o fiz), agora copie o único libxgboost.dll para o diretório python-packages, abra um prompt de comando e agora "python setup.py install" de python-packages.
Observação para instalações do Visual Studio, você não precisa que o sistema conheça o caminho do minGW.
Comentários muito úteis
Eu tive o mesmo erro, mas a correção deixa muitas perguntas sem resposta. Eu originalmente compilei com minGW usando algumas instruções mais claras .
Acontece que, por qualquer motivo, ter o caminho mingw no _início_ do caminho do sistema (em vez de terminar para mim) resolveu o problema dessa compilação.
Esta é a única maneira que funcionou
Observe que o diretório da dll solicitada é o mesmo no caso de falha e sucesso, portanto, não é isso. A única coisa que muda é colocar o diretório mingw/bin no início da variável de caminho. Portanto, acredito que possa ser um problema com o minGW ou como o minGW e o python estavam se comunicando (não um especialista aqui).
A correção REAL foi compilar usando o Visual Studio, instalando o cmake (adicione ao seu caminho durante a instalação!) Portanto, no total: siga as instruções usando o Git para Windows, clone o repositório, instale o cmake e adicione 'cmake' ao seu caminho, siga as instruções de instalação do visual studio para criar usando cmake e visual studio (instale a edição mais recente da comunidade do visual studio se você ainda não o fiz), agora copie o único libxgboost.dll para o diretório python-packages, abra um prompt de comando e agora "python setup.py install" de python-packages.
Observação para instalações do Visual Studio, você não precisa que o sistema conheça o caminho do minGW.