Opções para construir um ambiente de desenvolvimento Python no M1 Mac (Apple Silicon)

Eu ansiava pelo silício da Apple e comprei um M1 Macbook Air, mas ele era um compositor e tanto.Como um ambiente de estudo / desenvolvimento de programação, Windows ou Intel Mac podem ser melhores.Não estou familiarizado com outras linguagens de programação, então não sei,Aqui está um resumo das opções possíveis para M1 Mac como um ambiente de desenvolvimento para Pyhon e como construí-lo.

Opções de ambiente de desenvolvimento Python em M1 mac

Uma rápida pesquisa mostra que as três opções a seguir são as principais opções atuais (setembro de 2021).

  • Instalar com Homebrew
  • Use o ambiente Anaconda (miniforge)
  • Use Docker

A razão pela qual a construção do ambiente no M1 Mac é complicada é que o silício da Apple usa a arquitetura Arm como a arquitetura da CPU (design do sistema de instrução), ao contrário da série Intel x86 convencional.Se você ler o artigo abaixo sobre isso, poderá ter uma ideia.

Dicas do engenheiro de TI Qual é a arquitetura da CPU?
O que torna um mac com processador ARM M1 diferente da versão Intel?

Instale o python diretamente com o Homebrew

Como instalar o python usando o gerenciador de pacotes "Homebrew" para macOS (ou Linux).

·mérito

Fácil de instalar, pois é a ferramenta padrão de fato no ambiente MacOS

·デ メ リ ッ ト

Alguns pacotes Python são compatíveis com a arquitetura M1 Arm e alguns funcionam apenas no Rosetta, portanto, você precisa verificar cada vez que instalar o pacote, portanto, tenha cuidado ao usá-lo.

Eu não fiz isso, mas o seguinte é mais conciso.

Rosetta 2 é um software de emulação que permite que binários Intel Mac tradicionais funcionem em Macs M1 baseados em Arm.

Os segredos rápidos do Apple M2 encontrados ao examinar o Rosetta 1

Use o ambiente Anaconda (miniforge)

Jibóia É uma plataforma que fornece um ambiente para ciência de dados.Nós fornecemos arquivos binários compilados de muitos módulos e ferramentas centrados em cálculos científicos, e você pode construir facilmente um ambiente que usa Python.

Miniconda para m1 mac (versão Minicon do Anaconda: Referência Comparação de Anaconda e Miniconda) GarfominiforjaÉ usado.

·mérito

Fácil construção de ambientes e gerenciamento de ambientes virtuais. braço nativo e rápido.
Você não precisa se preocupar com o suporte M1 para pacotes python.

·デ メ リ ッ ト

Se você usar pypi (pip) para inserir um pacote que não está no repositório conda (não pode ser instalado com o miniforge), o ambiente pode ser destruído por um conflito inesperado e você pode precisar reinstalá-lo (referência: conda e pip: Perigo de mistura)

O seguinte artigo (+ vídeo) foi muito útil para isso.

O que é miniforge ...

Miniconda com foco no suporte a várias arquiteturas de CPU (intel x86_64 e ppc64le, aarch1 incluindo Apple M64).

Use Docker

Como criar um ambiente Python em um contêiner Docker.

·mérito

Se você criar um contêiner para cada ambiente, não precisará se preocupar com colisões.
Você não precisa se preocupar com o suporte M1 para pacotes python.

·デ メ リ ッ ト

Custos de aprendizagem do Docker.Dependendo do processo, é mais lento que os dois anteriores.

O método está resumido aqui.

ま と め

Na realidade, "Use o ambiente Anaconda (miniforge) "ou"Acho que será "usar Docker".Experimente primeiro com o miniforge e, se encontrar algum inconveniente, comece a usar o Docker.Por favor, deixe-me saber se existe outra maneira melhor.

Se você apenas deseja executar o códigoColaboração do GoogleExistem alguns, mas omiti porque não se pode dizer que se trata de uma construção ambiental.