python-3.x Anaconda和升级到新的M1 Mac

wkyowqbh  于 2022-12-05  发布在  Python
关注(0)|答案(6)|浏览(160)

背景
我刚买了一台新的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本地版本呢?
r1zhe5dt

r1zhe5dt1#

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

顶级域名注册商

  • conda-forge group在这里有一个M1本机conda安装程序。
  • 安装很简单--运行安装程序,您就可以启动并运行conda了。
  • 这将安装一个M1原生conda,并且该conda的默认环境将默认安装M1原生python版本和模块的M1原生版本(如果可用)
  • 似乎有本机osx M1本机车轮为最常见的模块现在可在conda-forge通道。
    当前状态

似乎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包的情况。

4xy9mtcn

4xy9mtcn2#

这里的答案会随着时间的推移而演变,所以这里是截至2021年1月27日我所掌握的最新知识。
在仿真模式下安装conda是完全可行的。您所需要做的就是在仿真模式下运行的终端中安装它,或者使用尚未移植的终端仿真器来安装它。
一旦您的conda环境启动并运行,其他一切看起来和感觉上都像在x86 Mac上一样。
如果你想知道更多的细节,我blogged about my experience。希望它能帮助你。

4xrmg8kj

4xrmg8kj3#

我得到了我的M1大约2个星期前,并设法安装绝对一切我需要原生从conda-forgepip。安装程序,你可以下载here。截至2月5日Homebrew也正式支持osx-arm 64。

col17t5w

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安装程序后更新此处。

olqngx59

olqngx595#

我通过miniforge(苹果版本)和Spyder(英特尔版本)通过自制安装了python3的本地版本,一切都很好,只有一个例外,我观察到一个奇怪的行为时,设置“图形后端”选项为“自动”而不是“内联”.
Spyder〉〉〉首选项〉〉〉IPython控制台〉〉〉图形〉〉〉图形后端〉〉〉内联或自动
当我用“inline”选项启动Spyder并切换到“automatic”时,打开的内核就像预期的那样工作。但是,如果我打开新的控制台,它们就完全不工作了。重新启动Spyder后,这个问题仍然存在。我设法在单独的窗口中绘制图形的唯一方法是在IPython控制台“graphics backend”设置为“inline”的情况下启动Spyder,然后将其更改为“automatic”。
如果我通过终端运行python3,绘制图形也能正常工作。
我的安装命令是:

brew install --cask miniforge
conda init zsh
conda activate
brew install --cask spyder
brew install PyQt@5
pip3 install matplotlib
huus2vyu

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的最后一个版本。

相关问题