在 mac 上安装 anaconda 后出现错误“mach-o,但架构错误”

Posted

技术标签:

【中文标题】在 mac 上安装 anaconda 后出现错误“mach-o,但架构错误”【英文标题】:Error "mach-o, but wrong architecture" after installing anaconda on mac 【发布时间】:2017-01-21 11:13:45 【问题描述】:

我在导入任何包时遇到架构错误,我知道我的 Python 可能不兼容,无法理解。 当前 Python 版本 - 2.7.10

`MyMachine:desktop *********$ python pythonmath.py 回溯(最近一次通话最后): 文件“pythonmath.py”,第 1 行,在 导入数学 ImportError: dlopen(/Users/*********/anaconda/lib/python2.7/lib-dynload/math.so, 2): 找不到合适的图像。发现: /Users/************/anaconda/lib/python2.7/lib-dynload/math.so:mach-o,但架构错误 我的机器:桌面 ***********$ python pythonmath.py 回溯(最近一次通话最后): 文件“pythonmath.py”,第 1 行,在 导入数学 ImportError: dlopen(/Users/anaconda/lib/python2.7/lib-dynload/math.so, 2): 找不到合适的图像。发现: /Users/***********/anaconda/lib/python2.7/lib-dynload/math.so:mach-o,但架构错误

【问题讨论】:

【参考方案1】:

以下步骤为我解决了这个问题。

退出终端。 转到 Finder => 应用程序 右键单击终端 获取信息 选中使用 Rosetta 打开复选框

现在,打开终端再试一次。

PS:Rosetta 允许采用 M1 架构的 Mac 使用为采用 Intel 芯片的 Mac 构建的应用程序。大多数时候,大多数架构问题背后的原因仅仅是这个芯片兼容性的原因。因此,终端的“使用 Rosetta 打开”允许我们在此类应用程序中默认使用 Rosetta。

【讨论】:

对于我们这些不使用 Mac(经常)的人来说,添加“使用 Rosetta 打开”的含义是值得的。那会启动 32 位仿真吗? 编辑了答案。感谢您的建议。 鉴于最近从 x64 切换到 ARM (+1),此答案是一个有用的补充,但在回答旧问题时请务必小心:专门解决为什么一个 6 岁的孩子通常是个好主意问题本身需要一个新的答案。【参考方案2】:

您正在混合使用 32 位和 64 位版本的 python。 可能您在 32 位计算机上安装了 64 位 python 版本。 继续卸载 python 并使用正确的配置重新安装它。

【讨论】:

【参考方案3】:

这个问题很可能是由于 python 安装混乱造成的。您可以尝试从您的操作系统中卸载 python(获取此答案以获取帮助How to uninstall Python 2.7 on a Mac OS X 10.6.4?)

然后重新安装 python。这对我有用。

【讨论】:

【参考方案4】:

我在尝试安装 dask 时遇到了类似的问题。 我按照以下步骤解决了它:

1/检查安装了哪个版本的python(我有:mac os python 2.x和3.x,anaconda 3.8,brew 3.9):

python -m pipenv.help

找到 Python 安装:

3.9.6: /opt/homebrew/bin/python3 3.9.6: /opt/homebrew/bin/python3.9 3.8.8: /opt/anaconda3/bin/python3 3.8.8: /opt/anaconda3/bin/python3.8 3.8.2: /usr/bin/python3 2.7.16: /usr/bin/python2 2.7.16: /usr/bin/python2.7

2/使用pipenv创建3.8虚拟环境:

pipenv install --python '/opt/anaconda3/bin/python3'
pipenv install 'dask[complete]'

注意:默认情况下,pipenv 使用 3.9 brew 版本的 python 创建虚拟环境 - 这导致了问题。

3/ 激活虚拟环境并使用:

pipenv shell

【讨论】:

以上是关于在 mac 上安装 anaconda 后出现错误“mach-o,但架构错误”的主要内容,如果未能解决你的问题,请参考以下文章

在Mac上安装Anaconda并在PyCharm上配置

如何在 Mac 上使用 Anaconda 安装 MySQLdb

在 mac os 上为 anaconda 安装 dlib 模块的问题

anaconda3镜像源修改后,无法安装软件包

Anaconda-navigator在Mac上启动时崩溃

Mac 安装 graphviz