我在 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。