微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Python 3.9.1 中导入 SciPy 产生 zsh: bus error;苹果硅 M1 Mac OS 11

如何解决在 Python 3.9.1 中导入 SciPy 产生 zsh: bus error;苹果硅 M1 Mac OS 11

我最近购买了配备 Mac Os X 11.0.1 和 Apple Silicon M1 的新 Mac Pro。

我安装了自制软件(启用 Rosetta 时)并设法通过 brew(numpy==1.19.5 & scipy==1.6.0 等)安装了 python3.9 和其他软件包。

但是,执行我的单行脚本会产生“总线错误。当我尝试从 scipy.optimize 导入 curve_fit 时会发生这种情况。任何想法如何解决这个问题?或者我必须等待scipy的优化包?

我认为这与硬件有关,并且是由于 M1 架构的 scipy 编译不是最佳的(数据在内存总线上的某处丢失了?https://www.quora.com/Why-there-is-a-bus-error-in-the-Python-program-when-it-recurs-over-18-713-times)。

Python 代码

from scipy.optimize import curve_fit

错误

zsh: bus error

在带有 -v 选项的 python3.9 中运行此代码时的尾行。

import 'scipy.sparse.linalg.dsolve' # <_frozen_importlib_external.sourceFileLoader object at 0x1182ad040>
# /opt/homebrew/lib/python3.9/site-packages/scipy/sparse/linalg/eigen/__pycache__/__init__.cpython-39.pyc matches /opt/homebrew/lib/python3.9/site-packages/scipy/sparse/linalg/eigen/__init__.py
# code object from '/opt/homebrew/lib/python3.9/site-packages/scipy/sparse/linalg/eigen/__pycache__/__init__.cpython-39.pyc'
# /opt/homebrew/lib/python3.9/site-packages/scipy/sparse/linalg/eigen/arpack/__pycache__/__init__.cpython-39.pyc matches /opt/homebrew/lib/python3.9/site-packages/scipy/sparse/linalg/eigen/arpack/__init__.py
# code object from '/opt/homebrew/lib/python3.9/site-packages/scipy/sparse/linalg/eigen/arpack/__pycache__/__init__.cpython-39.pyc'
# /opt/homebrew/lib/python3.9/site-packages/scipy/sparse/linalg/eigen/arpack/__pycache__/arpack.cpython-39.pyc matches /opt/homebrew/lib/python3.9/site-packages/scipy/sparse/linalg/eigen/arpack/arpack.py
# code object from '/opt/homebrew/lib/python3.9/site-packages/scipy/sparse/linalg/eigen/arpack/__pycache__/arpack.cpython-39.pyc'
zsh: bus error  python3.9 -v debug.py

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。