将xgboost导入Anaconda时出现Windows错误126

时间:2018-08-24 15:15:55

标签: python scikit-learn anaconda python-import xgboost

尽管我已经使用Python一段时间了,但我对Anaconda还是比较陌生,通常,包处理对我来说会引起很多问题。

我正在尝试使用Anaconda启动xgboost并使其运行。我最终设法使用以下命令来安装它:

conda install -c anaconda py-xgboost

在Anaconda提示中。

当我现在在PyCharm Python控制台中尝试import xgboost时,出现以下错误:

Python 2.7.15 |Anaconda 2.5.0 (64-bit)| (default, May  1 2018, 18:37:09) [MSC v.1500 64 bit (AMD64)] on win32

Backend Qt5Agg is interactive backend. Turning interactive mode on.
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 5.0.4\helpers\pydev\pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "C:\Users\Richard\Anaconda2\lib\site-packages\xgboost\__init__.py", line 11, in <module>
    from .core import DMatrix, Booster
  File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 5.0.4\helpers\pydev\pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "C:\Users\Richard\Anaconda2\lib\site-packages\xgboost\core.py", line 115, in <module>
    _LIB = _load_lib()
  File "C:\Users\Richard\Anaconda2\lib\site-packages\xgboost\core.py", line 109, in _load_lib
    lib = ctypes.cdll.LoadLibrary(lib_path[0])
  File "C:\Users\Richard\Anaconda2\lib\ctypes\__init__.py", line 444, in LoadLibrary
    return self._dlltype(name)
  File "C:\Users\Richard\Anaconda2\lib\ctypes\__init__.py", line 366, in __init__
    self._handle = _dlopen(self._name, mode)
WindowsError: [Error 126] The specified module could not be found

我已经在StackOverflow上搜索了类似的问题,但是除了找到复杂的答案(如果我不完全理解我不愿意实施这些答案,而且我不确定是否适用于我的情况),我就没有运气了。

还有一些其他需要注意的事情,可能与之相关:

  • 最初,我在发现错误之前使用Pycharm终端中的pip install xgboost安装了该软件包。

  • 当我最初尝试测试xgboost软件包时,我(愚蠢地)在名为xgboost.py的文件中进行了测试。此后,我删除了这个项目。之后,我卸载并重新安装了xgboost。

  • 我已经尝试了几种方法来尝试解决此问题,这可能会使事情变得更加复杂。例如,当在Anaconda提示符下键入conda uninstall xgboost失败时,我从'C:\ Users \ Richard \ Anaconda2'内部删除了'xgboost'文件夹。

任何人都可以对导致此问题的原因有何了解?这是我关于堆栈溢出的第一个问题,因此,对于根据指导原则提出的问题,如果我没有完全正确地提出,我深表歉意。

1 个答案:

答案 0 :(得分:0)

进一步搜索后,我设法回答了自己的问题。

xgboost(C ++)库必须先编译和构建,然后才能用作Python模块。为此,我仔细地遵循了此页面上的说明:

https://www.ibm.com/developerworks/community/blogs/jfp/entry/Installing_XGBoost_For_Anaconda_on_Windows?lang=en

现在,我认为xgboost运行良好。这是我第一次遇到需要此软件包的软件包,因此很混乱。希望这可以帮助遇到相同问题的其他人。