【问题标题】:How can I solve ImportError "scipy_csr" for XGBoost?如何解决 XGBoost 的 ImportError "scipy_csr"?
【发布时间】:2021-08-31 19:59:03
【问题描述】:

在尝试安装 XGBoost 时遇到以下问题需要帮助。安装所有要求(brew/gcc/cmake 等)后,我收到以下错误:

ImportError: 无法从“xgboost.compat”导入名称“scipy_csr” (/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/xgboost/compat.py)

只是想知道这里是否有人遇到过这个问题以及是否有任何我可以解决/解决这个问题的方法?

提前致谢。

【问题讨论】:

  • 您可以在/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/xgboost/compat.py 中搜索scipy,看看是否可以找到一些具有相似名称的函数/类/变量/任何东西。如果没有,您可以在该文件中创建一个具有该名称的变量,然后看看会发生什么。请注意,这可能会导致其他错误(很可能是TypeError)。
  • 这间接帮助了!浏览代码时,发现问题是它抛出了一个异常,因为执行“compat.py”时我没有安装一个库包。

标签: python xgboost


【解决方案1】:

在上面“程序员”的指导下,我查看了“compat.py”文件,发现异常处理如下:

try:
 import sparse
 import scipy.sparse as scipy_sparse
 from scipy.sparse import csr_matrix as scipy_csr
 SCIPY_INSTALLED = True
except ImportError:
 sparse = False
 scipy_sparse = False
 scipy_csr: Any = object
 SCIPY_INSTALLED = False

我需要做的就是“pip install sparse”包,它解决了这个问题。我现在可以流畅地运行 XGBoost。

【讨论】:

    猜你喜欢
    • 2012-11-18
    • 2020-06-19
    • 2021-04-14
    • 1970-01-01
    • 2017-10-27
    • 1970-01-01
    • 2022-01-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多