症狀:pip 找不到相符套件,或安裝完成後不確定課題程式能否重現。
最快解法:SciPy 1.18.1 已提供適用於 CPython 3.15 的 macOS ARM64 wheel;先在隔離環境安裝,再用專案基線驗收,不要一開始就編譯。
適合新課題起步的研究生:先建立可重建的 Python 環境,再安裝 SciPy。
適合遷移專案的科研人員:比對依賴與基準結果,不要把「安裝成功」當成「結果已復現」。
適合課題組技術支援人員:把環境路徑、套件版本及測試記錄納入交接。
最後更新於 2026 年 10 月 24 日;版本與 wheel 資訊核對自 SciPy 官方發布資訊、PyPI 的 SciPy 1.18.1 檔案清單及 Python 3.15.1 官方發布記錄。
從新課題開始:先隔離,再安裝
Python 3.15.1 已於 2026 年 10 月 21 日發布;SciPy 1.18.1 的官方發布資訊說明,此版本首次在 PyPI 提供 Python 3.15 二進位套件。PyPI 檔案清單列有 CPython 3.15 的 macOS ARM64 wheel。對 Apple Silicon Mac 而言,這表示可以先嘗試安裝相符的預編譯套件,不必預設要自行編譯。上述版本、日期及檔案資訊可在本節開頭所列的官方發布記錄與套件清單核對。
先建立專案專用環境。不要把新課題的套件直接裝進系統 Python,也不要沿用其他課題組已裝滿相依套件的環境。Python 官方 venv 文件說明了如何建立隔離環境;以下命令中的 python3.15,請替換成你實際安裝的 Python 3.15 執行檔名稱。Python venv 文件。
python3.15 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install scipy==1.18.1
安裝後先驗收基本狀態:
python -c "import sys, scipy; print(sys.executable); print(scipy.__version__)"
python -c "import scipy; scipy.show_config()"
檢查執行檔是否位於專案的 .venv、SciPy 版本是否為預期版本,以及匯入是否成功。scipy.show_config() 可協助查看 SciPy 建置時使用的相關資訊;它不是研究結果正確性的證明。SciPy show_config 文件。
在 Apple Silicon Mac 上驗收一般數值分析
安裝器會依 wheel 標籤判斷套件是否符合目前環境。這些標籤涉及 Python 版本與 ABI、作業系統平台及處理器架構;「Mac 上可以安裝」不代表任意 Python 執行檔都會選中同一個 wheel。遇到不符時,應先對照 Python 的實際建置與套件標籤,而不是先更換整套環境。平台相容標籤規格。
完成安裝後,用小型代表性計算驗證三層狀態:
- 匯入層:在互動式終端機與專案啟動方式中,都能匯入 SciPy 及課題所需的子模組。
- 數值層:用固定的小型輸入執行課題會用到的基本運算,記錄輸入、輸出與容許誤差。
- 專案層:執行實際會呼叫的求解器、統計或訊號處理功能;確認它們依賴的其他套件也能匯入。
情境案例:你剛接手一個使用 SciPy 的分析腳本。安裝沒有報錯,但腳本在載入資料後才因子模組缺失而中斷。此時重新安裝 SciPy 未必能解決問題;應按錯誤訊息核對專案依賴,再把這些依賴補入同一個隔離環境。
提醒:wheel 可安裝,只能證明發行套件與目前環境的分發條件相符。它不證明課題演算法、資料前處理或論文結果已通過驗證。
把 free-threaded 建置當作獨立測試
如果要評估 Python 3.15 的 free-threaded 建置,請另建環境,不要和標準 CPython 環境共用依賴或驗收記錄。判斷 SciPy 套件是否匹配時,要在 PyPI 檔案清單中核對特殊 ABI 標籤及 macOS 架構;Python 版本相同,不代表 ABI 就相同。
接著逐一檢查專案使用的 NumPy 與其他科學計算依賴,有沒有符合該建置的套件。若其中一個依賴沒有相符 wheel,安裝可能改走來源建置,也可能直接失敗。兩種狀況都要記下套件名稱與安裝輸出,避免把問題誤判為 SciPy 單一套件的故障。
不要由「成功安裝」或「可以並行執行」推斷效能提高。只有用課題組自己的輸入資料、執行流程和基準測試比較,才能決定這個建置是否適合研究工作。
pip 改走來源建置時,先診斷再回退
先查看 pip 安裝輸出中選取的套件檔案與失敗原因。按以下次序排查:
- 核對目前 Python 版本與 ABI,確認不是啟動了另一個直譯器。
- 核對處理器架構及 macOS 平台標籤,確認套件檔案與執行環境相符。
- 確認 pip 查詢的是預期套件索引,並檢查網路或索引設定是否令它看不到可用 wheel。
- 對照 SciPy 1.18.1 的檔案清單,判斷有沒有真正符合目前環境的 wheel。
- 只有確認沒有相符套件,且課題確實需要這個環境後,才評估來源建置。
「pip 嘗試建置」不等於「SciPy 沒有支援 Mac」。也可能是 ABI、架構或索引設定令安裝器無法選中 wheel。若診斷後仍須自行建置,依照 SciPy 官方建置文件準備工具鏈及相依項目;不要從未核對的網路命令直接複製編譯流程。SciPy 建置文件。
遷移舊專案時,以基線結果決定是否放行
先把舊環境與新環境的依賴記錄放在一起比較。除了 SciPy,也要核對 Python、NumPy 和專案級套件;缺少其中任何一項,都可能令分析流程或數值輸出改變。把舊環境的安裝清單、設定檔及專案版本一併存檔,避免只保留一行 SciPy 版本。
再用非敏感樣例或專案副本執行復測。挑選能代表實際流程的輸入,保存關鍵輸出、邊界條件和資料處理步驟。若新環境的結果不同,先逐項檢查依賴版本、演算法設定、輸入資料與前處理;不能只憑版本號相近,就認定分析結果等價。
| 選項 | 適用情境 | 主要優點 | 放行前要留意 |
|---|---|---|---|
| 標準 CPython 3.15.1 + SciPy wheel | 新課題、一般數值分析 | 可先使用相符的預編譯套件,設定步驟較直接 | 仍須驗證其他依賴及專案結果 |
| Free-threaded Python + 對應套件 | 專門評估 free-threaded 相容性 | 可獨立測試該建置下的依賴與程式行為 | ABI 與所有關鍵依賴都要逐項核對 |
| SciPy 來源建置 | 確認沒有合適 wheel,且建置確有必要 | 可依官方文件處理特定建置需求 | 工具鏈與相依項目較多,須按官方建置說明操作 |
決策方式:新課題先用標準隔離環境驗收;只有研究問題要求測試 free-threaded 行為時,才另開該環境;wheel 確認不匹配後,再按官方建置說明評估來源建置。
常見問題:版本支援、安裝與結果復現
SciPy 1.18.1 可以配 Python 3.15.1 嗎?
SciPy 官方發布資訊指出,1.18.1 首次在 PyPI 提供 Python 3.15 二進位套件;套件檔案清單亦列有 CPython 3.15、macOS ARM64 wheel。這回答的是套件分發層面的可用性,不等於你所有依賴都支援該環境。安裝後仍要按課題基線驗收。
Apple Silicon Mac 安裝前要核對哪些條件?
先確認目前執行的 Python 直譯器與架構,再核對可用 wheel 的 Python ABI 和 macOS 平台標籤。若電腦上有多個 Python,確認終端機實際呼叫的是專案指定的執行檔。安裝後檢查路徑、SciPy 版本、匯入狀態及課題使用的模組。
pip 為什麼會嘗試來源建置?
可能是 Python ABI、處理器架構或 macOS wheel 標籤不匹配,也可能是索引設定或網路令 pip 無法取得可用檔案。先查看安裝輸出,再對照 SciPy 1.18.1 的檔案清單。只有確認沒有相符 wheel,才依 SciPy 建置文件處理編譯需求。
Python 3.15 的 SciPy 環境怎樣驗證研究結果?
保存舊環境依賴記錄,用非敏感樣例或專案副本執行關鍵分析,逐項比較輸入、輸出、邊界條件及資料處理流程。結果不同時,分別檢查 Python、NumPy、SciPy、其他依賴與演算法設定。不要單憑安裝成功或版本號推斷結果已復現。
如果你目前只能用 Linux 或 Windows 做開發,限制在於無法直接驗收 macOS 環境、相應的套件分發情況與 Mac 專屬執行路徑;直接購買 Mac 則需要承擔設備採購與後續維護。若課題只需短期交互式開發、相容性檢查或專案副本驗收,遠端 Mac 可以作為另一種測試選項,但正式大規模計算是否留在校內 HPC,仍應依工作負載及機構規範決定。你可先查看 MACCOME 的遠端 Mac 方案說明,核對當期列出的環境與租用條件,再按實際課題基線決定是否使用;若要評估連線地點,也可查看香港方案頁面。