在 M1 Mac (Apple Silicon) 上构建 Python 开发环境的选择

我渴望使用 Apple 芯片并购买了 M1 Macbook Air,但这确实是一位词曲作者。作为编程学习/开发环境,windows 或 Intel mac 可能更好。我不熟悉其他编程语言所以我不知道,这里总结了 M1 Mac 作为 Pyhon 开发环境的可能选项以及如何构建它。

M1 mac上的Python开发环境选择

快速调查显示,以下三个是当前(2021 年 9 月)的主要选项。

  • 使用 Homebrew 安装
  • 使用 Anaconda 环境(miniforge)
  • 使用 Docker

M1 Mac上的环境搭建之所以复杂,是因为苹果芯片不同于传统的intel x86系列,采用Arm架构作为CPU架构(指令系统设计)。如果您阅读下面有关此内容的文章,您可以对其有所了解。

IT 工程师的提示 什么是 CPU 架构?
是什么让配备 ARM M1 处理器的 Mac 与 Intel 版本不同?

直接用 Homebrew 安装 python

如何使用 macOS(或 Linux)的包管理器“Homebrew”安装 python。

·优点

易于安装,因为它是 MacOS 环境中事实上的标准工具

·短处

有些 Python 包兼容 M1 Arm 架构,有些只适用于 Rosetta,所以每次安装包时都需要检查,所以使用时要小心。

我没有做过,但下面更简洁。

Rosetta 2 是一种仿真软件,它允许传统的 Intel Mac 二进制文件在基于 Arm 的 M1 Mac 上运行。

通过检查 Rosetta 2 发现 Apple M1 的快速秘密

使用 Anaconda 环境(miniforge)

蟒蛇 是一个为数据科学提供环境的平台。我们提供了许多以科学计算为中心的模块和工具的编译二进制文件,您可以轻松构建使用Python的环境。

Miniconda for m1 mac(Anaconda 的 Minicon 版本:参考 Anaconda 和 Miniconda 的比较) 叉子迷你锻造被使用。

·优点

轻松的环境构建和虚拟环境管理。 手臂原生和快速。
您不必担心 Python 包的 M1 支持。

·短处

如果使用pypi(pip)插入conda仓库中没有的包(不能用miniforge安装),环境可能会被意外冲突破坏,可能需要重新安装(参考: conda和pip:混合的危险

以下文章(+ 视频)对此非常有帮助。

什么是miniforge...

Miniconda 专注于支持各种 CPU 架构(intel x86_64 和 ppc64le,aarch1 包括 Apple M64)。

使用 Docker

如何在 Docker 容器上创建 python 环境。

·优点

如果为每个环境创建一个容器,就不必担心冲突。
您不必担心 Python 包的 M1 支持。

·短处

Docker 学习成本。根据过程的不同,它比上面两个要慢。

方法总结在这里。

まとめ

事实上, ”使用 Anaconda 环境(miniforge)“或”我认为这将是“使用 Docker”。先用 miniforge 试试,如果觉得不方便,就开始用 Docker。请让我知道是否有另一种更好的方法。

如果你只是想执行代码Google合作实验室有一些,但我省略了它,因为它不能说是环境构建。