我已经在带有 Apple Silicon 的新 Mac mini 上成功安装了带有 Numpy 和 Matplotlib 的 python 3.9.1。但是,我无法安装 SciPy:使用时出现编译错误
python3 -m pip install scipy
我也尝试从 brew 安装所有东西,并且“import scipy”可以工作,但是使用它会导致段错误。我已经安装了 ARM 版本的 lapack 和 openblas,但这并不能解决问题。
有人成功了吗? (我有兴趣在本地运行它,而不是通过 Rosetta)。
答案 0 :(得分:22)
普通的arm64 brew python是可以安装的,需要自己编译。
首先我必须编译 numpy
,这需要 cython
和 pybind11
:
pip3 install cython pybind11
然后可以编译numpy
:
pip3 install --no-binary :all: --no-use-pep517 numpy
然后我们需要自己编译scipy,它依赖于fortran和BLAS/LACK:
brew install openblas gfortran
告诉scipy
在哪里可以找到这个库:
export OPENBLAS=/opt/homebrew/opt/openblas/lib/
然后最后编译scipy
:
pip3 install --no-binary :all: --no-use-pep517 scipy
答案 1 :(得分:5)
您可以从 Mongo playground 安装 miniforge 然后安装这些软件包,
conda install numpy scipy matplotlib
答案 2 :(得分:2)
This solution 使用 pyenv
在我的 M1 机器上工作:
brew install openblas
OPENBLAS="$(brew --prefix openblas)" pip install numpy scipy
答案 3 :(得分:1)
对我来说最简单的解决方案:
brew install scipy
编辑 PATH 可能是个好主意,所以自制版本将是默认的。
答案 4 :(得分:0)
我设法在 Apple Silicon 上安装了 scipy。我主要按照 lutzroeder 的说明进行操作:https://github.com/scipy/scipy/issues/13409
这些说明对我来说并不成功,但之后运行“pip3 install scipy”就成功了。我认为这为我解决了问题:
/opt/homebrew/bin/brew install openblas
export OPENBLAS=$(/opt/homebrew/bin/brew --prefix openblas)
export CFLAGS="-falign-functions=8 ${CFLAGS}"