无法在 Pycharm 中和通过苹果 m1 上的 cli 安装包 scikit-learn

Posted

技术标签:

【中文标题】无法在 Pycharm 中和通过苹果 m1 上的 cli 安装包 scikit-learn【英文标题】:Cannot install package scikit-learn in Pycharm and through cli on apple m1 【发布时间】:2021-08-18 09:55:04 【问题描述】:

当它启动时,它会写:

Using cached scikit-learn-0.23.0.tar.gz (7.2 MB)
Installing build dependencies ... -

然后它挂了一个小时并写这个日志(不能完全包含日志)

ERROR: Failed building wheel for scipy
Running setup.py clean for scipy
ERROR: Command errored out with exit status 1:

ERROR: Failed cleaning build dir for scipy
Failed to build numpy scipy
ERROR: Could not build wheels for numpy which use PEP 517 and cannot be installed directly

atlas_info:
      libraries lapack_atlas not found in /opt/homebrew/opt/python@3.9/Frameworks/Python.framework/Versions/3.9/lib
      libraries f77blas,cblas,atlas not found in /opt/homebrew/opt/python@3.9/Frameworks/Python.framework/Versions/3.9/lib
      libraries lapack_atlas not found in /usr/local/lib
      libraries f77blas,cblas,atlas not found in /usr/local/lib
      libraries lapack_atlas not found in /usr/lib
      libraries f77blas,cblas,atlas not found in /usr/lib
      libraries lapack_atlas not found in /opt/local/lib
      libraries f77blas,cblas,atlas not found in /opt/local/lib
    <class 'numpy.distutils.system_info.atlas_info'>
      NOT AVAILABLE

atlas_3_10_threads_info:
    Setting PTATLAS=ATLAS
      libraries lapack_atlas not found in /opt/homebrew/opt/python@3.9/Frameworks/Python.framework/Versions/3.9/lib
      libraries tatlas,tatlas not found in /opt/homebrew/opt/python@3.9/Frameworks/Python.framework/Versions/3.9/lib
      libraries lapack_atlas not found in /usr/local/lib
      libraries tatlas,tatlas not found in /usr/local/lib
      libraries lapack_atlas not found in /usr/lib
      libraries tatlas,tatlas not found in /usr/lib
      libraries lapack_atlas not found in /opt/local/lib
      libraries tatlas,tatlas not found in /opt/local/lib
    <class 'numpy.distutils.system_info.atlas_3_10_threads_info'>
      NOT AVAILABLE

File "/private/var/folders/xg/45g_0kp96gj_11cftvnq919r0000gn/T/pip-install-1jwea3es/scikit-learn_dc15d18c3d214b0682eae44ae71e0d21/sklearn/_build_utils/__init__.py", line 35, in _check_cython_version
        raise ModuleNotFoundError(message)
    ModuleNotFoundError: Please install Cython with a version >= 0.28.5 in order to build a scikit-learn from source.

我也通过 brew 安装了 scipy,但没有帮助。

【问题讨论】:

错误表明它需要 C/C++ 库 lapack / blas 您必须单独安装。他们可能还需要源代码或至少带有文件.hdev 版本来编译它。 我从 pip 安装了 lapack 和 blas,但没有帮助。我不明白您所说的“他们可能需要带有文件 .h 的开发版本来编译它”(不幸的是,我不擅长构建 c/c++ 库)。 lapack 和 blas 不是 python 模块,而是 C/C++ 库。您可能只在 C/C++ 模块上安装了 Python 包装器,并且您仍然必须像安装任何其他程序一样安装它。在 Linux Ubuntu/Mint 上您可以使用 apt install liblapack3 libblas3 安装它,在 Mac 上您可以尝试使用 homebrew 安装它,否则您必须手动下载并安装它。 一些要访问 C/C++ 库的 Python 模块必须编译 C/C++ 代码,并且它们需要扩展名为 .h 的文件,在 Linux Ubuntu/Mint 上使用 apt install liblapack3-dev libblas3-dev 安装这些文件 也许你应该使用 Anaconda 而不是纯 Python,因为 Anaconda 应该已经预编译和测试了这些模块 - 请参阅 blas 和 lapack 【参考方案1】:

我从官方网站安装了 anaconda,并获得了安装 sklearn 的能力。

【讨论】:

以上是关于无法在 Pycharm 中和通过苹果 m1 上的 cli 安装包 scikit-learn的主要内容,如果未能解决你的问题,请参考以下文章

M1苹果硅mac上的Dynamodb本地设置

虚拟环境 Apple M1 芯片上的错误架构问题

开发者曝苹果M1芯片有漏洞 不改设计就无法消除

无法在苹果 m1 芯片中的颤振项目上执行 pod 安装

苹果m1终于使用虚拟机和安装 Windows 系统啦!!ARM版Win10系统(苹果m1 win10),速看!!

开发者曝苹果M1芯片有漏洞 不改设计就无法消除