Windows 7, R работает нормально
питон 2.7.10 | EPD 7.5-3 (64-разрядная версия), numpy, scipy, theano и т. д. работает нормально
Шаги:
python setup.py install
, снова никаких видимых ошибок>>>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
Я взломал core.py, чтобы проверить, какую библиотеку он на самом деле пытается загрузить :)
он на самом деле ищет правильную dll
/Sources/xgb/python-package/xgboost/../../lib/libxgboost.dll
именно там, где он находится, недавно построенный несколько минут назад
Как вы строите xgboost?
вы должны следовать этому:
http://xgboost.readthedocs.io/en/latest/build.html#building — на окнах
У меня была точно такая же ошибка с вами.
Попробуйте удалить другую версию Python на вашем компьютере и перезагрузите компьютер. Я знаю, что это не очень хорошее решение, но оно работает для меня.
У меня была такая же ошибка, но исправление оставляет много вопросов без ответа. Первоначально я скомпилировал с помощью minGW, используя более четкие указания .
Оказалось, что по какой-то причине наличие пути mingw в _начале_ системного пути (а не в конце для меня) решило проблему для этой компиляции.
>>> 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
Это единственный способ, которым это сработало
Обратите внимание, что каталог запрошенной dll одинаков как в случае неудачи, так и в случае успеха, так что это не так. Единственное, что меняется, это размещение каталога mingw/bin в начале переменной пути. Поэтому я считаю, что это может быть проблема с minGW или с тем, как общались minGW и python (здесь я не эксперт).
НАСТОЯЩЕЕ исправление состояло в том, чтобы скомпилировать с помощью Visual Studio, установив cmake (добавьте в свой путь во время установки!), И следуя указаниям визуальной студии (которые действительно должны быть разработаны, не все умеют в этом). Итак, в целом: следуйте инструкциям, используя Git для Windows, клонируйте репозиторий, установите cmake и добавьте «cmake» в свой путь, следуйте инструкциям по установке Visual Studio для сборки с использованием cmake и Visual Studio (установите последнюю версию сообщества Visual Studio, если вы еще не сделали), теперь скопируйте единственную libxgboost.dll в каталог пакетов python, откройте командную строку и теперь «установите python setup.py» из пакетов python.
Примечание. Для установки Visual Studio вам не нужно, чтобы система знала путь к minGW.
Самый полезный комментарий
У меня была такая же ошибка, но исправление оставляет много вопросов без ответа. Первоначально я скомпилировал с помощью minGW, используя более четкие указания .
Оказалось, что по какой-то причине наличие пути mingw в _начале_ системного пути (а не в конце для меня) решило проблему для этой компиляции.
Это единственный способ, которым это сработало
Обратите внимание, что каталог запрошенной dll одинаков как в случае неудачи, так и в случае успеха, так что это не так. Единственное, что меняется, это размещение каталога mingw/bin в начале переменной пути. Поэтому я считаю, что это может быть проблема с minGW или с тем, как общались minGW и python (здесь я не эксперт).
НАСТОЯЩЕЕ исправление состояло в том, чтобы скомпилировать с помощью Visual Studio, установив cmake (добавьте в свой путь во время установки!), И следуя указаниям визуальной студии (которые действительно должны быть разработаны, не все умеют в этом). Итак, в целом: следуйте инструкциям, используя Git для Windows, клонируйте репозиторий, установите cmake и добавьте «cmake» в свой путь, следуйте инструкциям по установке Visual Studio для сборки с использованием cmake и Visual Studio (установите последнюю версию сообщества Visual Studio, если вы еще не сделали), теперь скопируйте единственную libxgboost.dll в каталог пакетов python, откройте командную строку и теперь «установите python setup.py» из пакетов python.
Примечание. Для установки Visual Studio вам не нужно, чтобы система знала путь к minGW.