Scelte per la creazione di un ambiente di sviluppo Python su M1 Mac (Apple Silicon)

Ho desiderato ardentemente il silicio Apple e ho comprato un Macbook Air M1, ma questo era piuttosto un cantautore.Come ambiente di studio/sviluppo di programmazione, Windows o Intel mac potrebbero essere migliori.Non ho familiarità con altri linguaggi di programmazione quindi non lo so,Ecco un riepilogo delle possibili opzioni per M1 Mac come ambiente di sviluppo per Pyhon e come costruirlo.

Scelte dell'ambiente di sviluppo Python su M1 mac

Un rapido sondaggio mostra che le tre seguenti sono le opzioni principali attuali (settembre 2021).

  • Installa con Homebrew
  • Usa ambiente Anaconda (miniforge)
  • Usa Docker

Il motivo per cui la costruzione dell'ambiente su M1 Mac è complicata è che il silicio Apple utilizza l'architettura Arm come architettura della CPU (design del sistema di istruzioni) a differenza della serie Intel x86 convenzionale.Se leggi l'articolo qui sotto su questo, puoi farti un'idea.

Suggerimenti per l'ingegnere informatico Che cos'è l'architettura della CPU?
Cosa rende un Mac con un processore ARM M1 diverso dalla versione Intel?

Installa Python direttamente con Homebrew

Come installare Python usando il gestore di pacchetti "Homebrew" per macOS (o Linux).

·merito

Facile da installare in quanto è lo strumento standard di fatto nell'ambiente MacOS

·demerito

Alcuni pacchetti Python sono compatibili con l'architettura M1 Arm e alcuni funzionano solo su Rosetta, quindi devi controllare ogni volta che installi il pacchetto, quindi fai attenzione quando lo usi.

Non l'ho fatto, ma quanto segue è più conciso.

Rosetta 2 è un software di emulazione che consente ai tradizionali binari Intel Mac di funzionare su Mac M1 basati su Arm.

I segreti veloci dell'Apple M2 scoperti esaminando Rosetta 1

Usa ambiente Anaconda (miniforge)

Anaconda È una piattaforma che fornisce un ambiente per la scienza dei dati.Forniamo file binari compilati di molti moduli e strumenti incentrati su calcoli scientifici e puoi facilmente creare un ambiente che utilizza Python.

Miniconda per m1 mac (versione Minicon di Anaconda: riferimento Confronto tra Anaconda e Miniconda) ForchettaminiforgiaÈ usato.

·merito

Facile costruzione dell'ambiente e gestione dell'ambiente virtuale. braccio nativo e veloce.
Non devi preoccuparti del supporto M1 per i pacchetti Python.

·demerito

Se usi pypi (pip) per inserire un pacchetto che non si trova nel repository conda (non può essere installato con miniforge), l'ambiente potrebbe essere distrutto da un conflitto imprevisto e potrebbe essere necessario reinstallarlo (riferimento: conda e pip: pericolo di miscelazione)

Il seguente articolo (+ video) è stato molto utile per questo.

Cos'è la miniforge...

Miniconda con particolare attenzione al supporto di varie architetture di CPU (intel x86_64 e ppc64le, aarch1 incluso Apple M64).

Usa Docker

Come creare un ambiente Python su un container Docker.

·merito

Se crei un contenitore per ogni ambiente, non dovrai preoccuparti delle collisioni.
Non devi preoccuparti del supporto M1 per i pacchetti Python.

·demerito

Costi di apprendimento Docker.A seconda del processo, è più lento dei due precedenti.

Il metodo è riassunto qui.

ま と め

In realtà, "Usa l'ambiente Anaconda (miniforge) "o"Penso che sarà "usa Docker".Provalo prima con miniforge e, se trovi qualche inconveniente, inizia a utilizzare Docker.Per favore fatemi sapere se c'è un altro modo migliore.

Se vuoi solo eseguire il codiceGoogle ColaboratorioCe ne sono alcuni, ma l'ho omesso perché non si può dire che sia una costruzione ambientale.