无法在 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
您必须单独安装。他们可能还需要源代码或至少带有文件.h
的dev
版本来编译它。
我从 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的主要内容,如果未能解决你的问题,请参考以下文章