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

标签 python-3.x macos anaconda conda

背景
我刚得到一台新的 M1 mac mini 开发机器,并使用苹果的迁移助手从我的旧 x86 mac 迁移。
这样做还将我所有的 conda 环境复制到新机器上(它们都在我的主目录中)
我安装了最新版本的 anaconda 和 anaconda 加上我所有的 python 代码和环境似乎工作正常(这包括一堆轮子模块,特别是 numpy/scipy)。
我在下面的问题上做了一堆谷歌搜索,但在任何地方都找不到任何好的答案 - 所以我想我会问这样,因为这似乎是其他人会遇到的很常见的情况
问题

  • 有谁知道 conda forge 提供的 M1 native 版本的 python/numpy/scipy 等的状态?
  • 我假设我的环境中用于 python/numpy 等的所有二进制文件都仍然是旧的 x86 版本,因为它们都在我的主目录中的环境中,并且通过仿真运行。那么,您如何着手将这些更改/更新为 M1 arm native
    版本是否/何时可用?
  • 最佳答案

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

  • conda-forge group有一个 M1原生 conda安装程序 here .
  • 安装很简单——运行安装程序,你就有了conda启动并运行。
  • 这将安装 M1原生 conda , conda 的默认环境默认为 安装 M1 native Python 版本和 M1 native 版本的模块(如果可用) .
  • 好像有用于大多数常见模块的原生 osx M1 原生轮子 现在在 conda-forge channel 上可用。

  • 当前状态
    Anaconda 似乎还没有原生的 M1 版本,Miniconda 也没有。 ...我不明白为什么花了这么长时间,而且似乎仍然没有原生 M1 支持,但这是一个单独的问题。
    备选
    但是,正如上面提到的 steff,conda-forge (如 the group responsible for maintaining the conda-forge channel )有他们的 conda 版本的安装程序这本身既是原生 M1,也可以设置您的环境以在可用的情况下拉动 M1 原生轮子。他们称之为Miniforge。
    他们的 github 是 here .
    他们的Miniforge 的各种安装程序(通过直接下载、curl 或自制软件)可以在他们的 github 页面(上图)上找到 - ARM 原生 miniforge 安装程序的直接链接是 here .
    快速搜索 conda-forge show 的几乎所有常见模块现在都有可用的原生 M1 轮子。 (寻找支持平台 'osx-arm64' 例如 numpy )
    注意事项
    我还没有对此进行过广泛的测试,我不确定如果非 M1 轮子可用会发生什么(我相信它会默认下载无拱形版本)。
    我也不确定/尚未测试您是否可以将 M1 车轮与 x86 mac 车轮混合搭配。 (我猜这会起作用,但还没有尝试过)。
    我也只使用 conda 的 pip 进行了最少的测试。 ,以及它识别/尝试下载/解析 M1 vs x86 pip 包的能力。

    关于python-3.x - Anaconda 和升级到新的 M1 Mac,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65534042/

    相关文章:

    iphone - Xcode 构建和资源文件夹

    python - 即使在专门包含之后,PyInstaller 仍然缺少模块错误

    python - 由于未找到模块 'pd.core.dtypes.common',本地 Ubuntu 机器拒绝导入 Pandas

    python - PyCharm 未检测到 anaconda3 环境

    python-3.x - 获取 Keras 变量列表

    python - 按组别划分的百分比

    java - 在 OS X Yosemite 10.10.4 中设置 JAVA_HOME

    python - ImportError : libpython3. 7m.so.1.0:无法打开共享对象文件:没有这样的文件或目录

    python-3.x - 使用分类数据集 : how to deal with different values (less number) in categorical data 进行 One-hot 编码

    python - 在 Windows 上使用 python 启动分离的无限进程并将输出通过管道传输到文件中