M1 Mac에서 Python 개발 환경 구축의 선택 (Apple Silicon)

Apple silicon을 동경해 M1 Macbook Air를 사봤지만, 이것이 꽤 곡자였습니다.프로그래밍의 공부・개발 환경으로서는, 무난하게 windows나 Intel mac가 좋을지도 모릅니다.다른 프로그래밍 언어에 대해서는 자세하지 않으므로 모르겠지만,Pyhon의 개발 환경으로서 M1 Mac에서 가능한 옵션과 그 구축 방법을 정리해 둡니다.

M1 mac에서 Python 개발 환경 선택

자쿠 조사한 느낌이라면, 이하 2021개가 현재(9년 XNUMX월)의 주된 선택지입니다.

  • Homebrew로 설치
  • Anaconda 환경 (miniforge) 사용
  • 도커 사용

M1 Mac에서의 환경 구축이 까다로운 원인은, Apple silicon에서는 CPU 아키텍처(명령 계통의 설계)로서, 종래의 인텔 x86계와 달리 Arm 아키텍쳐가 사용되고 있는 것입니다.이것에 대해 아래의 기사 등을 읽으면 이미지 가다랭이합니다.

IT 엔지니어의 콩 지식 CPU 아키텍처는?
ARM 버전 M1 프로세서 탑재 mac는 인텔 버전과 무엇이 바뀌는지

Homebrew에서 직접 파이썬 설치

macOS (또는 Linux) 용 패키지 관리자 "Homebrew"를 사용하여 파이썬을 설치하는 방법입니다.

· 장점

MacOS 환경에서의 기본 표준 도구이므로 설치하기 쉽습니다.

·단점

Python의 패키지에 따라서는 M1의 Arm 아키텍처에 대응이 끝난 것, Rosetta상에서 밖에 움직이지 않는 것이 있어, 패키지를 인스톨 할 때마다 한번 확인할 필요가 있기 때문에, 운용에는 주의가 필요

내가 한 적은 없지만, 다음이 간결하게 정리되어 있습니다.

Rosetta 2는 기존의 Intel Mac용 바이너리를 Arm 기반 M1 Mac에서도 작동하도록 하는 에뮬레이션 소프트웨어

Rosetta 2를 살펴본 Apple M1의 빠른 비밀

Anaconda 환경 (miniforge) 사용

아나콘다 는 데이터 과학을 위한 환경을 제공하는 플랫폼입니다.과학 기술 계산 등을 중심으로 많은 모듈과 툴의 컴파일된 바이너리 파일을 제공하고 있어 쉽게 Python을 이용하는 환경을 구축할 수 있습니다.

m1 mac에서는 Miniconda(Anaconda의 최소 구성판: 참고 Anaconda와 Miniconda의 비교)의 포크입니다.miniforge를 사용합니다.

· 장점

환경 구축이 간단하고, 가상 환경 관리도 할 수 있다. arm 네이티브로 고속.
파이썬 패키지의 M1 대응을 신경쓰지 않아도 좋다.

·단점

conda 저장소에없는 (miniforge로 설치할 수 없음) 패키지를 pypi (pip)로 넣으면 예기치 않은 충돌로 인해 환경이 파괴되어 재설치가 필요할 수 있습니다 (참고 : conda와 pip : 혼합하지 않는 위험)

이쪽은 이하의 기사(+동영상)가 매우 참고가 되었습니다.

miniforge란...

다양한 CPU 아키텍처(인텔의 x86_64나 ppp64le, Apple M1을 포함한 aarch64)의 지원에 중점을 둔 Miniconda.

도커 사용

Docker 컨테이너에 파이썬 환경을 만드는 방법입니다.

· 장점

환경마다 컨테이너를 만들면 충돌 걱정이 없다.
파이썬 패키지의 M1 대응을 신경쓰지 않아도 좋다.

·단점

Docker 학습 비용.처리에 따라서는 위에 2개와 비교하면 느리다.

방법은 여기에 정리했습니다.

정리

현실적으로 "Anaconda 환경 (miniforge) 사용 '또는'"Docker 사용"이 될 것이라고 생각합니다.우선 miniforge로 해보고, 불편이 있으면 Docker를 사용하기 시작하면 좋을 것입니다.그 밖에 끈기있는 방법이 있으면 꼭 가르쳐 주세요.

코드를 실행하기만 하면구글 콜라보레이션도 있습니다만, 환경 구축이라고는 말할 수 없기 때문에 할애했습니다.