背景
我刚买了一台新的M1 mac mini dev机器,用苹果的迁移助手从我的旧x86 mac上迁移过来。
这样做也将我所有的conda环境复制到新机器上(它们都在我的home目录中)
我安装了最新版本的anaconda和anaconda加上我所有的python代码和环境似乎工作得很好(这包括一堆wheel模块,特别是numpy/scipy)。
- 我做了一堆谷歌搜索我的问题下面,但找不到任何好的答案在任何地方-所以我想我会问这样,因为这似乎是一个很常见的情况别人会遇到 *
个问题
- 有人知道condaforge提供的python/numpy/scipy等的M1原生版本的状态吗?
- 我假设我的环境中所有的python/numpy等的二进制文件都仍然是旧的x86版本,因为它们都在我的home目录下的环境中,并且通过模拟运行。那么,如果/当M1 arm本地版本可用时,你如何将它们更改/更新到M1 arm本地版本呢?
6条答案
按热度按时间r1zhe5dt1#
截至2021年7月的快速更新。
顶级域名注册商
conda
安装程序。conda
了。当前状态
似乎Anaconda * 仍然 * 没有原生M1版本,Miniconda也没有。......我不明白为什么花了这么长时间,似乎都没有原生M1支持,但这是一个单独的问题。
备选
然而,正如steff上面提到的,
conda-forge
(如the group responsible for maintaining the conda-forge channel)确实有一个安装程序用于他们的conda
版本,它本身既是原生的M1,也设置了你的环境来拉取M1原生轮。他们的github是here。
他们的
Miniforge
的各种安装程序(通过直接下载,curl或自制)可以在他们的github页面上找到(如上)-ARM本地miniforge安装程序的直接链接是here。在Conda-forge show上快速搜索一下,几乎所有的通用模块现在都有原生M1轮可用。(查找支持平台'osx-arm64',例如numpy)
注意事项
我还没有对此进行过广泛的测试,我不知道如果有一个非M1的轮子会发生什么(我相信它会默认下载一个无拱版本)。
我也不确定/还没有测试你是否可以混合和匹配M1车轮与x86 mac车轮。
我也只使用conda的
pip
做了最少的测试,以及它识别/尝试下载/解析M1与x86 pip包的情况。4xy9mtcn2#
这里的答案会随着时间的推移而演变,所以这里是截至2021年1月27日我所掌握的最新知识。
在仿真模式下安装conda是完全可行的。您所需要做的就是在仿真模式下运行的终端中安装它,或者使用尚未移植的终端仿真器来安装它。
一旦您的conda环境启动并运行,其他一切看起来和感觉上都像在x86 Mac上一样。
如果你想知道更多的细节,我blogged about my experience。希望它能帮助你。
4xrmg8kj3#
我得到了我的M1大约2个星期前,并设法安装绝对一切我需要原生从
conda-forge
和pip
。安装程序,你可以下载here。截至2月5日Homebrew也正式支持osx-arm 64。col17t5w4#
2022年3月2日解答
原生M1安装现在非常简单了。这里有几个Miniforge和Miniconda的选项。
(1)使用苹果公司的Tensorflow说明和Miniforge
它使用与上述相同的Miniforge解决方案,但包括M1优化的Tensorflow安装,这意味着TF可以访问M1 GPU内核。
查找“arm 64:Apple Silicon”部分,网址为:
https://developer.apple.com/metal/tensorflow-plugin/
(2)使用Miniforge运行原生M1,同时使用Miniconda运行Rosetta(Jeff希顿2021/11教程)
Jeff基本上使用苹果的解决方案进行本地Miniforge安装。
https://www.youtube.com/watch?v=w2qlou7n7MA
(3)使用原生M1 Miniconda2021年11月发布了原生M1 Miniconda安装程序:
Miniconda3 macOS Apple M1 64-bit bash (Py38 conda 4.10.1 2021-11-08)
https://docs.conda.io/en/latest/miniconda.html
我成功地运行了Jeff教程中的并行安装程序,并做了一些修改。这非常简单,我验证了在原生M1 Miniforge环境中,Numpy使用的是优化的BLAS/LAPACK线性代数库,Tensorflow可以访问GPU。我将在运行Miniconda原生M1安装程序后更新此处。
olqngx595#
我通过miniforge(苹果版本)和Spyder(英特尔版本)通过自制安装了python3的本地版本,一切都很好,只有一个例外,我观察到一个奇怪的行为时,设置“图形后端”选项为“自动”而不是“内联”.
Spyder〉〉〉首选项〉〉〉IPython控制台〉〉〉图形〉〉〉图形后端〉〉〉内联或自动
当我用“inline”选项启动Spyder并切换到“automatic”时,打开的内核就像预期的那样工作。但是,如果我打开新的控制台,它们就完全不工作了。重新启动Spyder后,这个问题仍然存在。我设法在单独的窗口中绘制图形的唯一方法是在IPython控制台“graphics backend”设置为“inline”的情况下启动Spyder,然后将其更改为“automatic”。
如果我通过终端运行python3,绘制图形也能正常工作。
我的安装命令是:
huus2vyu6#
您可以通过Anaconda查看此anouncement。您现在可以在M1 MAC目录上使用Anaconda。
Anaconda Distribution的2022.05版本提供了针对Apple M1的ARM64架构(计算速度快20%)、Anaconda Navigator 2.1.4、conda 4.12.0的本地编译功能,以及几个新的和更新的软件包。2022.05也是支持win32的最后一个版本。