Anaconda 和升级到新的 M1 Mac

Ric*_*ard 14 macos python-3.x anaconda conda

背景

我刚买了一台新的 M1 mac mini 开发机器,并使用苹果的迁移助手从我的旧 x86 mac 迁移过来。

这样做还会将我所有的 conda 环境复制到新机器上(它们都在我的主目录中)

我安装了最新版本的 anaconda 和 anaconda 加上我所有的 python 代码和环境似乎工作正常(这包括一堆轮子模块,特别是 numpy/scipy)。

我为下面的问题做了一堆谷歌搜索,但在任何地方都找不到任何好的答案 - 所以我想我会问,因为这似乎是其他人会遇到的很常见的情况

问题

  • 有谁知道conda forge提供的python/numpy/scipy等M1本机版本的状态?
  • 我认为 python/numpy 等环境中的所有二进制文件都仍然是旧的 x86 版本,因为它们都在我的主目录中的环境中,并通过仿真运行。那么,如果/在可用时,您如何将它们更改/更新为 M1 arm 原生版本?

Ric*_*ard 13

截至 2021 年 7 月的快速更新。

TLDR

  • 畅达锻组M1本地 conda安装在这里
  • 安装很简单 - 运行安装程序,您就可以conda启动并运行了。
  • 这将安装M1 本机 conda,并且该 conda 的默认环境将默认安装 M1 本机 python 版本和 M1 本机版本模块(如果可用)
  • conda-forge 频道上现在似乎有适用于大多数常见模块的原生 osx M1 原生轮子

当前状态

似乎 Anaconda仍然没有原生 M1 版本,Miniconda 也没有。 ...我不明白为什么花了这么长时间,而且似乎都没有原生 M1 支持,但这是一个单独的问题。

选择

但是,正如 steff 上面提到的,conda-forge(在负责维护 conda- forge 频道的小组中确实有一个安装程序,他们的版本conda本身就是原生 M1,并且还设置了您的环境以在可用的情况下拉出 M1 原生轮子。他们称之为Miniforge

他们的 github 在这里

他们的各种安装程序Miniforge(通过直接下载、curl 或自制软件)可以在他们的 github 页面(上图)上找到 - ARM 本地 miniforge 安装程序的直接链接在这里

快速搜索 conda-forge 显示的几乎所有常见模块现在都有可用的原生 M1 轮子。(寻找支持平台“osx-arm64”,例如numpy

注意事项

我还没有对此进行过广泛的测试,我不确定如果有非 M1 轮子会发生什么(我相信它会默认下载无拱形版本)。

我也不确定/尚未测试是否可以将 M1 车轮与 x86 mac 车轮混合搭配。(我猜这会起作用,但还没有尝试过)。

我也只使用 conda 进行了最少的测试pip,以及它如何识别/尝试下载/解析 M1 与 x86 pip 包。


eri*_*mjl 12

此处的答案将随着时间的推移而演变,因此这是我截至 2021 年 1 月 27 日所掌握的最新知识。

在仿真模式下安装 conda 完全正常。您需要做的就是将其安装在以仿真模式运行的终端中,或者使用尚未移植的终端仿真器进行安装。

一旦您的 conda 环境启动并运行,其他一切看起来和感觉就像在 x86 Mac 上一样。

如果你想了解更多细节,我在博客上写了我的经历。希望对你有帮助。

  • 我将为我的 Macbook M1 安装 miniconda。什么是仿真模式?如果我只是关注 miniconda 网站有什么问题吗?https://docs.conda.io/en/latest/miniconda.html (2认同)

ste*_*eff 8

大约 2 周前,我拿到了 M1,并设法从conda-forge和安装了我本机需要的所有东西pip。您可以在此处下载安装程序。截至 2 月 5 日,osx-arm64 也正式支持 Homebrew。