3

我在 Windows 7 上安装了 Anaconda python,然后使用此处的说明手动安装了 xgboost 包:如何在 python (windows 平台) 中安装 xgboost 包?(它没有安装在 anaconda 下,而是安装在单独的目录中)

我将以下内容放在 test.py 中:

import sys
sys.path.append('C:<path>/xgboost/python-package')
import xgboost

当从命令行(例如,从 cygwin)导入时,导入工作正常。但是,如果我使用 Anaconda 附带的 Spyder IDE 或 IPython,我会得到

WindowsError                              Traceback (most recent call last) <ipython-input-14-afdaff4619ce> in <module>()
    ----> 1 import xgboost

    C:...\xgboost\python-package\xgboost\__init__.py in <module>()
      9 import os
     10
---> 11 from .core import DMatrix, Booster
     12 from .training import train, cv
     13 from . import rabit

C:...\xgboost\python-package\xgboost\core.py in <module>()
     81
     82 # load the XGBoost library globally
---> 83 _LIB = _load_lib()
     84
     85 def _check_call(ret):

C:...\xgboost\python-package\xgboost\core.py in _load_lib()
     75     if len(lib_path) == 0:
     76         return None
---> 77     lib = ctypes.cdll.LoadLibrary(lib_path[0])
     78     lib.XGBGetLastError.restype = ctypes.c_char_p
     79     return lib

C:...\Continuum\Anaconda2\lib\ctypes\__init__.pyc in Lo adLibrary(self, name)
    441
    442     def LoadLibrary(self, name):
--> 443         return self._dlltype(name)
    444
    445 cdll = LibraryLoader(CDLL)

C:...continuum\Anaconda2\lib\ctypes\__init__.pyc in __ init__(self, name, mode, handle, use_errno, use_last_error)
    363
    364         if handle is None:
--> 365             self._handle = _dlopen(self._name, mode)
    366         else:
    367             self._handle = handle

WindowsError: [Error 126] The specified module could not be found

我检查了 sys.executable,并且在 shell 和 IPython 中运行相同的 python。打印 sys.path 表明在这两种情况下,正确的位置都是路径的一部分。知道发生了什么吗?我真的很想能够使用 IDE。

4

0 回答 0