Windows将xgboost导入Anaconda时报错126
Windows Error 126 when importing xgboost into Anaconda
虽然我已经使用 Python 一段时间了,但我对 Anaconda 比较陌生,一般的包处理似乎给我带来了很多问题。
我正在尝试启动 xgboost 和 运行 Anaconda。我最终设法使用以下命令安装它:
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
我已经在 Whosebug 上搜索过类似的问题,但除了找到复杂的答案之外,我没有运气,我觉得在没有完全理解的情况下实施这些答案很不舒服,而且我不确定它是否适用于我的场景。
一些需要注意的事项,可能相关:
最初,在意识到我的错误之前,我在 Pycharm 终端中使用 pip install xgboost
安装了软件包。
当我最初尝试测试 xgboost 包时,我(愚蠢地)在一个名为 xgboost.py 的文件中进行了测试。我已经删除了这个项目。之后我卸载并重新安装了xgboost。
我已经尝试了几种方法来尝试解决这个问题,这可能会使事情变得更复杂。例如,当在 Anaconda 提示中键入 conda uninstall xgboost
失败时,我从 'C:\Users\Richard\Anaconda2' 中删除了 'xgboost' 文件夹。
任何人都可以阐明导致此问题的原因吗?这是我关于堆栈溢出的第一个问题,如果我的问题没有按照指南完全正确地提出,我深表歉意。
经过进一步搜索,我设法回答了我自己的问题。
必须先编译和构建 xgboost (C++) 库,然后才能将其用作 Python 模块。为此,我仔细按照此页面上的说明进行操作:
现在,我认为 xgboost 运行良好。这是我第一次遇到需要这样做的包,因此感到困惑。希望这对遇到同样问题的其他人有所帮助。
虽然我已经使用 Python 一段时间了,但我对 Anaconda 比较陌生,一般的包处理似乎给我带来了很多问题。
我正在尝试启动 xgboost 和 运行 Anaconda。我最终设法使用以下命令安装它:
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
我已经在 Whosebug 上搜索过类似的问题,但除了找到复杂的答案之外,我没有运气,我觉得在没有完全理解的情况下实施这些答案很不舒服,而且我不确定它是否适用于我的场景。
一些需要注意的事项,可能相关:
最初,在意识到我的错误之前,我在 Pycharm 终端中使用
pip install xgboost
安装了软件包。当我最初尝试测试 xgboost 包时,我(愚蠢地)在一个名为 xgboost.py 的文件中进行了测试。我已经删除了这个项目。之后我卸载并重新安装了xgboost。
我已经尝试了几种方法来尝试解决这个问题,这可能会使事情变得更复杂。例如,当在 Anaconda 提示中键入
conda uninstall xgboost
失败时,我从 'C:\Users\Richard\Anaconda2' 中删除了 'xgboost' 文件夹。
任何人都可以阐明导致此问题的原因吗?这是我关于堆栈溢出的第一个问题,如果我的问题没有按照指南完全正确地提出,我深表歉意。
经过进一步搜索,我设法回答了我自己的问题。
必须先编译和构建 xgboost (C++) 库,然后才能将其用作 Python 模块。为此,我仔细按照此页面上的说明进行操作:
现在,我认为 xgboost 运行良好。这是我第一次遇到需要这样做的包,因此感到困惑。希望这对遇到同样问题的其他人有所帮助。