截至 2026 年 10 月 24 日,PyPI 已列出 SciPy 1.18.1 的 CPython 3.15、macOS ARM64 wheel;这意味着 Apple Silicon Mac 可以先在隔离环境安装,不必一开始就源码编译。但安装成功不等于课题环境或分析结果已经复现。(PyPI 上 SciPy 1.18.1 的文件列表、SciPy 官方发布页、Python 3.15.1 官方发布记录)

  • 症状:pip 找不到匹配文件,或迁移后结果和旧环境不同。
  • 最快解法:先核对解释器、ABI、处理器架构和 macOS 标签,再用项目基线验收。

刚开新课题的研究生,可按隔离环境步骤建立可复核基线。
迁移旧项目或依赖多个科学计算包的研究人员,应重点检查依赖记录与结果。
负责高校 Mac 环境和项目交接的技术支持人员,可据此设计组内验收流程。

最后更新于 2026 年 10 月 24 日,版本与 wheel 信息核对自 SciPy、PyPI 及 Python 官方发布记录。

新课题先建隔离环境,再安装 SciPy

Python 3.15.1 与 SciPy 1.18.1 能否用于 Mac 科研环境?可以先试装,但应在每个课题自己的虚拟环境中操作,并把安装验收与科研结果复现分开判断。SciPy 官方公告称 1.18.1 是首个在 PyPI 提供 Python 3.15 二进制包的版本;Python 官方记录显示 3.15.1 于 2026 年 10 月 21 日发布。

系统 Python 可能被其他工具或项目调用。直接向全局环境安装、升级 NumPy 或替换依赖,容易让既有课题出现难以追踪的变化。虚拟环境则把项目解释器和库放在独立目录中;Python 文档说明,运行在虚拟环境中的解释器会使用指向该环境的 sys.prefix。可参照 Python 3.15 的 venv 文档建立环境。

新项目可先按下面步骤建立基线:

  1. 确认终端实际调用的 Python 版本与安装路径;不要只凭桌面图标或命令名判断。
  2. 在项目目录创建环境并激活:
    bash python3.15 -m venv .venv source .venv/bin/activate
  3. 通过当前环境的解释器调用 pip,安装指定版本:
    bash python -m pip install --upgrade pip python -m pip install "scipy==1.18.1"
  4. 保存环境信息:
    bash python -c "import sys, platform; print(sys.executable); print(sys.version); print(platform.machine())" python -m pip show scipy numpy
  5. 导入 SciPy 并查看构建配置:
    bash python -c "import scipy; print(scipy.__version__); scipy.show_config()"

验收时看三件事:sys.executable 指向项目的 .venv,SciPy 显示为 1.18.1,导入命令正常完成。scipy.show_config() 可显示 SciPy 所用的构建库和系统信息,适合留档,但它不是课题算法正确性的证明。详见 SciPy 的 show_config 文档。

Apple Silicon 上先看 wheel 标签,再判断是否匹配

wheel 文件名不是装饰信息。它声明了解释器版本、ABI 与平台;安装工具据这些兼容标签判断是否可用。PyPA 的 平台兼容标签说明解释了这些标签的含义,PyPI 文件列表则显示 SciPy 1.18.1 有面向 macOS ARM64 的 CPython 3.15 wheel,包含最低系统版本标记为 macosx_12_0 的文件。

选择 适合的任务 关键核对点 决策
标准 CPython 3.15 环境 新课题的常规数值分析 cp315 ABI、ARM64 架构、macOS 标签 对应 wheel 可用时优先安装
CPython 3.15 free-threaded 环境 单独评估 free-threaded 构建 特殊 cp315t ABI;其他依赖也要有匹配构建 单独建环境,不能拿标准构建结果代替
源码构建 wheel 确实不匹配,或有明确构建需求 编译器、Fortran、BLAS/LAPACK 与构建配置 先确认原因,再按 SciPy 构建说明操作

为什么“Apple Silicon Mac”仍不够判断安装结果?机器处理器是 ARM64,不代表当前 Python 解释器也以 ARM64 运行;如果终端使用了不同架构的解释器,pip 会按那个解释器的标签筛选包。你还要核对 macOS 最低版本要求。出现 macosx_12_0_arm64,表示该 wheel 面向 ARM64,且标记了 macOS 12.0 的最低版本;不能据此推断所有旧系统或所有解释器都匹配。

free-threaded 构建要按独立实验管理

PyPI 文件列表还列有 SciPy 1.18.1 的 CPython 3.15 free-threaded wheel,macOS ARM64 也有相应条目。这里的关键不是“Mac 支持”,而是标准 CPython 与 free-threaded 构建使用不同 ABI 标签:普通环境匹配 cp315,free-threaded 环境应核对 cp315t。

可以把 free-threaded 版本直接用于现有课题吗?不建议直接替换。为它创建独立环境,先检查 NumPy 与项目其他依赖是否也提供匹配构建,再跑导入、代表性计算和项目测试。SciPy wheel 可安装,只能说明该发布文件标签与候选解释器相符;它不证明完整依赖链已通过,也不证明并发执行会更快。

如果你的目的只是运行既有分析,没有 free-threaded 专项评估需求,先用标准构建建立基线。任何性能判断都应来自课题组自己的任务基准,并记录输入数据、参数、运行环境和结果;不要从安装成功推导出性能提升。

pip 转向源码构建时,按日志逐项排查

安装 SciPy 时,pip 转向源码包该从哪里查起?常见线索包括解释器或 ABI 不匹配、运行架构与 wheel 不同、macOS 版本标签不兼容、pip 版本无法识别可用标签、索引源未提供该文件,或配置显式要求源码包。wheel 的标签决定安装器能否接受二进制文件;先查日志和兼容标签,比立即安装编译器更省事。

python -m pip debug --verbose
python -m pip install -v "scipy==1.18.1"

如果想确认当前索引是否能提供二进制包,可明确禁止源码回退:

python -m pip install --only-binary=:all: "scipy==1.18.1"

这条命令失败时,报错本身是诊断线索,不是要求你立刻编译。先对照 python -m pip debug --verbose 的标签、platform.machine() 输出、Python 版本和 macOS 版本;再检查 pip 配置与索引来源。如果必须源码构建,SciPy 文档列出的 macOS 构建依赖包括 Apple 开发工具、Fortran 编译器、BLAS/LAPACK 与 pkg-config,具体命令和配置应以 SciPy 构建说明为准。

迁移项目时,复测输入输出而不只对版本号

环境能装好,不代表旧项目已经复现。迁移时,除 SciPy 外,还要对照 Python、NumPy 及项目级依赖。只记 SciPy 版本,可能遗漏真正影响运行的环境差异;只保存一次安装命令,也无法说明当时实际解析出了哪些依赖。

按这个顺序验收:

  1. 记录旧环境。保存 Python 与关键依赖版本、安装来源、启动命令,以及课题使用的配置文件。
  2. 建立新环境。按旧项目要求安装依赖;如有锁定文件或组内环境规范,优先按其复建,不要顺手升级无关包。
  3. 选安全样例。使用非敏感数据、合成数据或项目副本,避免将受限研究数据放入未经批准的环境。
  4. 复测关键路径。覆盖典型输入、预期输出、边界条件和课题实际调用的 SciPy 模块;不要只跑 import scipy。
  5. 对照并留档。保存命令、依赖清单、日志和结果差异。出现数值变化时,逐项检查依赖版本、算法参数、数据预处理与执行路径,再由课题负责人判断是否可接受。

怎么判断 Python 3.15 环境跑出的科研结果可复现?用项目基线回答,而不是只看包版本:同一组非敏感输入是否经过相同预处理,关键输出和边界行为是否符合项目约定,差异是否能追溯并解释。版本号一致不保证结果等价;版本号变化也不能单独证明结果一定有问题。

没有本地 Mac 时,先决定哪部分需要 macOS

如果实验室没有 Mac,可先划分任务:需要验证 macOS 专属行为、依赖安装或交互式开发的部分,确实需要 macOS 环境;正式的大规模计算是否留在高校 HPC,则取决于算法、数据治理和机构要求。不要把远程 Mac 的安装通过,误当成 HPC 生产任务已经验收,也不要把未批准的数据复制到远程环境。

没有 Mac 怎么完成环境验收?先用非敏感样例或项目副本检查解释器、wheel、导入和关键计算;确认学校的数据与安全要求后,再决定是否迁移完整项目。MACCOME 的远程 Mac 方案页面可供你核对当前列出的服务信息;如需比较页面所列选项,也可查看地区方案页面。本文没有本站配置、价格、交付或实测数据,因此不据此承诺具体资源或体验。

如果你现在只能用实验室 Linux/Windows 环境,可能缺少 macOS 专属验证条件,也可能需要自己协调测试设备与项目交接;而远程 Mac 也不适合所有情况,例如机构不允许数据离开受控环境,或任务必须连接本地物理设备。若只是临时验证 macOS 依赖或项目副本,可以先核对 MACCOME 页面标注的实际可用环境与操作方式,再决定是否租用;长期稳定的重负载任务,则应先比较自购设备、学校资源和机构批准的计算环境。