在运行 macOS Big Sur 的 Apple M1芯片的iMac上安装 Miniconda 时出现问题。

10
我正在尝试在我的新iMac上安装Miniconda。我以前在旧的macOS系统上安装过Miniconda,没有遇到任何问题,但是在这个新系统上,我遇到了困难。
这台电脑是一台配备了苹果M1芯片的iMac,运行着macOS Big Sur(版本11.3)。
我下载了最新的miniconda安装程序并运行了以下代码:bash Miniconda3-latest-MacOSX-x86_64.sh 这导致出现以下警告:
警告: 您的操作系统似乎不是64位,但您正在尝试安装64位版本的Miniconda3。 您确定要继续安装吗?[yes | no]
我不确定为什么它会说我没有64位系统 - 我的理解是从macOS Catalina开始,一切都应该是64位的(但也许我错了?)。
我在互联网上搜索了一下,但没有找到解决方案,所以想试着安装看看会发生什么。但是它没有完成安装。我按照提示操作,但在某个时候,你会得到这个:
[/Users/jenniferweinert/miniconda3] >>>
PREFIX=/Users/jenniferweinert/miniconda3
正在解包负载...
Miniconda3-latest-MacOSX-x86_64.sh:第411行:/Users/jenniferweinert/miniconda3/conda.exe:可执行文件中的错误CPU类型
Miniconda3-latest-MacOSX-x86_64.sh:第413行:/Users/jenniferweinert/miniconda3/conda.exe:可执行文件中的错误CPU类型
我发现与miniconda(或anaconda)和macOS(Catalina或Big Sur)有关的大多数问题都涉及bash和zsh之间的差异以及您需要激活miniconda / anaconda的两行额外代码。 但是,由于我无法安装Miniconda,因此无法达到那个目标!
我能够安装home-brew,然后尝试了静默安装。但是也在同一点无法安装,由于可执行文件中的错误CPU类型。
有人告诉我,这可能是由于这台计算机中的M1芯片引起的,但没有提出解决方案或解决方法。
如果有人能够帮助我解决这个问题,我将不胜感激! 如果需要提供任何其他信息才能帮助您,请告诉我。
谢谢!
4个回答

5

我遇到了同样的问题。请确保您从安装程序网页下载“Miniconda3 macOS Apple M1 ARM 64位bash”,而不是“Miniconda3 macOS 64位bash”。


3
我遇到了完全相反的问题,当我尝试运行pkg版本时,出现了"This package is incompatible with this version of macOS"。为了参考,我正在运行带有M1芯片的Mac。为了让它正常工作,我下载了bash版本,切换到Downloads目录cd Downloads,使用chmod +x Miniconda3-latest-MacOSX-arm64.sh添加可执行文件。用./Miniconda3-latest-MacOSX-arm64.sh运行它,按照安装提示进行操作,它就像魔法一样工作了。 conda --version现在可以使用,我没有遇到任何问题。 - Chris
@Chris 谢谢你的有用回答,它解决了我的问题并且非常有效!这就是答案,我一定会向其他人推荐它。 - Ali Bayat Mokhtari

2

我按照你的建议去做了,但我开始有这样的印象,即这只是一个针对 x86 构建的版本,因此我得到的也是相应的 x86 版本(而不是我想要的 arm64 版本)。你对此了解更多吗? - Tom de Geus
1
抱歉,我不知道。但是.pkg安装程序在我的M1 Mac上确实有效。 - cdunn2001

2
实际上,这是一个操作系统默认问题。这个问题意味着你的Mac首先没有看到Rosetta,因为你还没有使用过一个为英特尔芯片制作的应用程序。
为了解决这个问题,只需初始化 .pkg,这样Mac会要求你安装Rosetta(只需要一次)。

https://support.apple.com/en-us/HT211861

安装Rosetta,从.pkg退出安装,然后您可以像往常一样运行bash Miniconda3-latest-MacOSX-x86_64.sh
您也可以继续使用.pkg安装程序进行安装,但我个人不喜欢这样做,因为它默认将其放入/opt/miniconda3文件夹中,并且不会询问您有关写入.zshrc文件的conda init脚本。
如果您想要同时拥有minicondaminiforge作为两个独立实例,则这一点很重要。

https://www.youtube.com/watch?v=w2qlou7n7MA&list=RDCMUCR1-GEpyOPzT2AO4D_eifdw&index=1

让我们希望M1芯片的开发人员继续努力工作,这样我们将来只需使用miniforge就能充分利用具备GPU的M1芯片!

它的效果非常好。这是我唯一找到的实际解决方案。 - vpap

0

比安装Miniconda更好的选择是建议安装...Miniforge

Miniforge是来自conda-forge频道的一个conda实现, 您可以在miniforge github上获取多个平台的安装程序,包括Apple Silicon。

Miniforge会自动搜索专门针对Apple Silicon的软件包。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接