微软LightGBM Windows下Python安装:ImportError: cannot import name NUMPY_MKL

最近写了一篇关于“微软开源分布式高性能GB框架LightGBM安装使用”的文章,有小伙伴安装Python环境遇到了问题。我个人也尝试安装了一下,确实遇到了很多问题。"Windows7下python的scipy库的安装"的问题解决后,又遇到“ImportError: cannot import name NUMPY_MKL”的问题。如下:

D:\LightGBM\LightGBM\examples\python-guide>python simple_example.py
Traceback (most recent call last):
  File "simple_example.py", line 4, in <module>
    import lightgbm as lgb
  File "D:\Python27\lib\site-packages\lightgbm-0.1-py2.7.egg\lightgbm\__init__.p
y", line 9, in <module>
    from .basic import Dataset, Booster
  File "D:\Python27\lib\site-packages\lightgbm-0.1-py2.7.egg\lightgbm\basic.py",
 line 15, in <module>
    import scipy.sparse
  File "D:\Python27\lib\site-packages\scipy\__init__.py", line 61, in <module>
    from numpy._distributor_init import NUMPY_MKL  # requires numpy+mkl
ImportError: cannot import name NUMPY_MKL
为什么会出现这样的问题呢?

参考“http://stackoverflow.com/questions/37267399/importerror-cannot-import-name-numpy-mkl”的说法是

由于我的“scipy”是按"Windows7下python的scipy库的安装"中的方法使用“.whl”文件安装的,而“numpy”是使用“pip install numpy”命令安装的。

其实我使用“pip install numpy”命令安装,实际上也是下载了一个“.whl”文件,只是和“scipy”的下载的源不一样,但是就不行了。

怎么办怎么办?

我又用命令“pip uninstall numpy”把它卸载了,

用和“scipy”同样的源,从“http://www.lfd.uci.edu/~gohlke/pythonlibs/”上下载“numpy”的安装文件。

再用命令安装:pip install numpy-1.11.3-cp27-cp27m-win_amd64.whl

问题解决了。

======================文档信息======================
版权声明:非商用自由转载-保持署名-注明出处
署名(BY) :testcs_dn(微wx笑)
文章出处:[无知人生,记录点滴](http://blog.csdn.net/testcs_dn)

### 解析 `numpy.linalg` 导入错误 遇到 `ImportError: cannot import name '__all__' from 'numpy.linalg'` 错误可能是因为 NumPy 安装存在问题或环境配置不正确。为了有效解决问题,建议采取以下措施: #### 1. 验证当前安装NumPy版本 确认环境中使用的NumPy版本是否是最新的稳定版。可以使用如下命令来检查已安装NumPy版本: ```python import numpy as np print(np.__version__) ``` 如果版本过旧,则可能是引起问题的原因之一。 #### 2. 卸载并重装NumPy库 有时现有包可能存在损坏或其他兼容性问题,因此推荐先完全移除再重新安装NumPy。对于基于Conda的环境来说,操作方法如下: ```bash conda remove numpy conda install numpy ``` 这有助于修复潜在的文件冲突或损坏情况[^4]。 #### 3. 更新整个Anaconda发行版 考虑到该问题是发生在 Anaconda 环境下,更新整个 Anaconda 发行版也可能帮助消除依赖关系中的任何不一致之处。可以通过执行下面这条指令完成升级: ```bash conda update --all ``` #### 4. 创建独立的新虚拟环境 为了避免不同项目之间的相互干扰以及更好地管理各个项目的依赖项,创建一个新的干净虚拟环境来进行测试也是一个不错的选择。具体做法为: ```bash conda create -n new_env_name python=3.x anaconda conda activate new_env_name pip install numpy scipy pandas... ``` 这里 `-n` 参数后面跟的是新环境的名字,而 `python=3.x` 则指定了Python的具体版本号;最后面的部分则是要安装的基础软件列表[^3]。 #### 5. 检查其他第三方库的影响 有时候某些特定版本的第三方库可能会与标准科学计算栈(如 NumPy/SciPy)发生冲突。如果有安装额外的机器学习框架或者其他扩展工具的话,也应考虑暂时禁用它们来看看是否会有所改善[^1]。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值