背景
我刚得到一台新的 M1 mac mini 开发机器,并使用苹果的迁移助手从我的旧 x86 mac 迁移。
这样做还将我所有的 conda 环境复制到新机器(它们都在我的主目录中)
我安装了最新版本的 anaconda 和 anaconda 加上我所有的 python 代码和环境似乎工作正常(这包括一堆 wheel 模块,特别是 numpy/scipy)。
我在下面对我的问题进行了大量谷歌搜索,但在任何地方都找不到任何好的答案 - 所以我想我会问,因为这似乎是其他人会遇到的很常见的情况
问题
- 有谁知道 conda forge 提供的 python/numpy/scipy 等 M1 本机版本的状态?
- 我假设我的 python/numpy 等环境中的所有二进制文件都仍然是旧的 x86 版本,因为它们都在我的主目录中的环境中,并且通过仿真运行。那么,如果/当可用时,您如何将它们更改/更新为 M1 arm 本机版本?
原文由 Richard 发布,翻译遵循 CC BY-SA 4.0 许可协议
截至 2021 年 7 月的快速更新。
TLDR
conda
安装程序 在这里。conda
。当前状态
似乎 Anaconda 仍然 没有原生的 M1 版本,Miniconda 也没有。 …我不明白为什么它花了这么长时间而且似乎都没有原生 M1 支持,但这是一个单独的问题。
选择
然而,正如上面提到的 steff,
conda-forge
(在 负责维护 conda-forge 频道的小组中) 确实 有一个安装程序用于他们的版本conda
这本身就是原生 M1,并设置您的环境以在可用的情况下拉动 M1 原生轮子。他们称之为 Miniforge 。他们的 github 在 这里。
他们的
Miniforge
的各种安装程序(通过直接下载、curl 或自制程序)可以在他们的 github 页面(上方)上找到 - ARM 本机 miniforge 安装程序的直接链接在 这里。快速搜索一下 conda-forge show 的几乎所有常见模块现在都有可用的原生 M1 轮子。 (寻找支持平台 ‘osx-arm64` 例如 numpy )
注意事项
我还没有对此进行过广泛的测试,而且我不确定如果非 M1 车轮可用会发生什么(我相信它会默认下载非拱形版本)。
我也不确定/没有测试过您是否可以将 M1 轮子与 x86 mac 轮子混合搭配。 (我猜这会起作用,但还没有尝试过)。
我也只使用 conda 的
pip
进行了最少的测试,以及它识别/尝试下载/解析 M1 与 x86 pip 包的程度。