在ARM 版本的 Mac M1 上安裝 Python (Mini-forge Conda 虛擬環境)

Yungger
6 min readOct 4, 2021

為什麼 M1 上還要安裝 Miniforge 才能順利開發 Python 程式, 因為目前很多 原生 Python 套件都還無法相容於 M1 上, 所以在安裝或執行上都會出現錯誤。例如直接使用 pip3 安裝 opencv, numpy 和 matplotlib 等套件,都會出現如 pep517的 錯誤,導致套件安裝失敗。

但如果透過 Miniforge 安裝的 Conda 環境來安裝就不會遇到那些錯誤了。

STEP 1: 安裝基本開發環境

Xcode

至 App Store 中搜尋 “Xcode”, 找到後直接點選安裝。

安裝完畢後, 打開終端機, 輸入
% sudo xcodebuild -license

若出現錯誤訊息
”xcode-select: error: tool ‘xcodebuild’ requires Xcode, but active developer directory ‘/Library/Developer/CommandLineTools’ is a command line tools instance”

必須指定開發者工具的路徑至
% sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

閱讀授權文件, 一直按 space 鍵至最後一頁, 提示輸入 “agree” 後即完成。

執行並輸入同意 Xcode license, 接下來是安裝 Apple 命令列工具 (若已安裝過則可略)。

命令列工具

% sudo xcode-select — install

STEP 2: 安裝 Homebrew

Homebrew 是一款套件管理工具,目前支持 macOS 和 linux 系统。
主要有四個部分组成:

  • brew
  • homebrew-core
  • homebrew-cask
  • homebrew-bottles

** 官方說明,新的 M1 ARM CPU 版本 Homebrew 必須安裝在 /opt/homebrew 路徑下,而 /usr/local/homebrew 則是 for macOS Intel。***

下載 ARM 版 Homebrew

% cd /opt
% mkdir homebrew && curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C homebrew

加入路徑至環境變數 Homebrew

在終端機下, 輸入
% nano ~/.zshrc

在檔案內容的最下面, 加入此環境變數 PATH
export PATH=$PATH:/opt/homebrew/bin

存檔離開後, 在終端機下輸入下面指令, 讓環境變數能即刻生效。
% source ~/.zshrc

在終端機 App 貼上下面兩列指令字串

% echo 'eval $(/opt/homebrew/bin/brew shellenv)' >> /Users/vincent/.zprofile
% eval $(/opt/homebrew/bin/brew shellenv)

檢查是否已正常安裝且可執行

% brew help

STEP 3: 安裝 Miniforge (Conda + Python 3環境)

透過 homebrew 安裝 miniforge

% brew install miniforge

訊息顯示 conda 的執行連結路徑至 /opt/homebrew/bin/conda, 接下來
在終端機輸入 conda init <SHELL_NAME> 來初始化 Shell (此處的 SHELL_NAME 在 M1 內建的終端機是 zsh)。

% conda init zsh

依指示重啟 Terminal 後, 會自動進入 Conda 的預設基礎環境 base。

***預設每當終端機一被開啟後, 會自動就會進入 Conda 的 base 的基礎工作環境, 但若設定為開機後不自動載入時, 可輸入以下指令:

conda config --set auto_activate_base false

檢查是否已正常安裝且可執行

% conda help

STEP 4: 新增虛擬環境

例如後續要新增的專案名為 opencv

新增專案環境

以下指令擇一
% conda create -n 專案名
% conda create -n 專案名 python=版本
% conda create -n 專案名 -p 指定專案路徑目錄

% conda create -p 指定路徑目錄/opencv

我的另一個專案 my_opencv 因不指明安裝路徑, 所以只是輸入 -n 或 -name
% conda create -n my_opencv

啟動 (進入) 專案環境

% conda activate my_opencv

關閉 (離開) 虛擬環境

% conda deactivate

接下來, 專案的環境一旦建立後, 您就可以順利的在上面執行寫好的 Python 程式了 !!

作者:Yungger 勇哥

若覺得此文真對您有幫助, 點點左上方的拍手圖示, 鼓勵一下。若還想 請喝杯咖啡 鼓勵一下勇哥的繼續創作, 也感謝 😘 😘 !!

Yungger

Maker & Freelancer

--

--