02
Apple Silicon 的問題通常出在核心指向,而不是介面
在 M 系列 Mac 上,JupyterLab 介面成功開啟,只能證明伺服器元件已啟動;Notebook 使用的 Python 核心仍可能來自 Intel 環境、舊虛擬環境或另一個 conda 環境。這也是「JupyterLab 能打開,但 Python 核心啟動失敗」時最先要查的證據。
在終端機先檢查主機與解譯器:
uname -m
which python
python -c "import platform, sys; print(platform.machine()); print(sys.executable)"
conda info | grep -E "platform|active environment"
原生 Apple Silicon 通常應看到 arm64,而 sys.executable 必須指向目前課題環境,而不是系統路徑。若已安裝 ipykernel,再把核心註冊到同一個環境:
python -m pip install ipykernel
python -m ipykernel install --user --name research-jlab --display-name "Python (research-jlab)"
jupyter kernelspec list
在 Notebook 中建立最小診斷儲存格,確認核心、架構和科研套件版本:
import sys, platform
print(sys.executable)
print(platform.machine())
import numpy
print(numpy.__version__)
若 platform.machine()、解譯器路徑與 conda 平台不一致,先停在這裡,不要繼續安裝更多套件。只有在課題確實依賴尚未提供 arm64 建置的遺留套件時,才評估 Rosetta 或獨立的 Intel 環境;不能因為某個社群個案就把所有 Apple Silicon 環境判定為不相容。
長期交付時,建議把核心名稱、環境檔和啟動方式一併記錄,而不是讓每位成員在 JupyterLab 的核心選單中自行猜測。