Keuzes voor het bouwen van een Python-ontwikkelomgeving op M1 Mac (Apple Silicon)

Ik verlangde naar Apple silicium en kocht een M1 Macbook Air, maar dit was nogal een songwriter.Als programmeer studie/ontwikkelomgeving is windows of Intel mac wellicht beter.Ik ben niet bekend met andere programmeertalen, dus ik weet het niet,Hier is een samenvatting van mogelijke opties voor M1 Mac als ontwikkelomgeving voor Pyhon en hoe deze te bouwen.

Keuzes in de ontwikkelomgeving voor Python op M1 mac

Uit een kort overzicht blijkt dat de volgende drie momenteel (september 2021) de belangrijkste opties zijn.

  • Installeren met Homebrew
  • Anaconda-omgeving gebruiken (miniforge)
  • Docker gebruiken

De reden waarom de omgevingsconstructie op de M1 Mac ingewikkeld is, is dat Apple silicium de Arm-architectuur gebruikt als de CPU-architectuur (ontwerp van het instructiesysteem) in tegenstelling tot de conventionele Intel x86-serie.Als je onderstaand artikel hierover leest, kun je er een idee van krijgen.

Tips van IT-ingenieurs Wat is de CPU-architectuur?
Wat maakt een mac met een ARM M1-processor anders dan de Intel-versie?

Installeer Python rechtstreeks met Homebrew

Hoe python te installeren met behulp van de pakketbeheerder "Homebrew" voor macOS (of Linux).

·verdienste

Eenvoudig te installeren omdat het de de facto standaardtool is in de MacOS-omgeving

·Nadeel

Sommige Python-pakketten zijn compatibel met de M1 Arm-architectuur en sommige werken alleen op Rosetta, dus u moet elke keer dat u het pakket installeert controleren, dus wees voorzichtig wanneer u het gebruikt.

Ik heb het niet gedaan, maar het volgende is beknopter.

Rosetta 2 is emulatiesoftware waarmee traditionele Intel Mac-binaries kunnen werken op Arm-gebaseerde M1-Macs.

De snelle geheimen van de Apple M2 gevonden door Rosetta 1 te onderzoeken

Anaconda-omgeving gebruiken (miniforge)

Anaconda Is een platform dat een omgeving biedt voor datawetenschap.We bieden gecompileerde binaire bestanden van veel modules en tools die zijn gebaseerd op wetenschappelijke berekeningen, en u kunt eenvoudig een omgeving bouwen die Python gebruikt.

Miniconda voor m1 mac (Minicon-versie van Anaconda: referentie) Vergelijking van Anaconda en Miniconda) VorkminismederijIs gebruikt.

·verdienste

Eenvoudige omgevingsconstructie en beheer van virtuele omgevingen. arm inheems en snel.
U hoeft zich geen zorgen te maken over M1-ondersteuning voor python-pakketten.

·Nadeel

Als u pypi (pip) gebruikt om een ​​pakket in te voegen dat niet in de conda-repository staat (kan niet worden geïnstalleerd met miniforge), kan de omgeving worden vernietigd door een onverwacht conflict en moet u het mogelijk opnieuw installeren (referentie: conda en pip: gevaar voor vermenging)

Het volgende artikel (+ video) was hier erg nuttig voor.

Wat is miniforge...

Miniconda met een focus op het ondersteunen van verschillende CPU-architecturen (intel x86_64 en ppc64le, aarch1 inclusief Apple M64).

Docker gebruiken

Een python-omgeving maken op een Docker-container.

·verdienste

Als u voor elke omgeving een container maakt, hoeft u zich geen zorgen te maken over botsingen.
U hoeft zich geen zorgen te maken over M1-ondersteuning voor python-pakketten.

·Nadeel

Docker leerkosten.Afhankelijk van het proces is het langzamer dan de twee hierboven.

De methode is hier samengevat.

ま と め

In werkelijkheid, "Gebruik Anaconda-omgeving (miniforge) "of"Ik denk dat het "Docker gebruiken" zal zijn.Probeer het eerst met miniforge, en als je enig ongemak vindt, begin dan Docker te gebruiken.Laat het me weten als er een andere betere manier is.

Als u alleen de code wilt uitvoeren:Google-samenwerkingsverbandDie zijn er, maar die heb ik weggelaten omdat er niet kan worden gezegd dat het een omgevingsconstructie is.