pydroid3 中文文档 下载 App

预编译 wheel 仓库 —— Pydroid 科学库大礼包一键可用的秘密

普通 pip 在 Android 上的困境

想象一下你在手机上跑普通的 Python,然后想装 NumPy。流程会是:

  1. pip install numpy
  2. pip 去 PyPI 找 NumPy 的 wheel 文件
  3. PyPI 上的 wheel 是给 x86 Linux / macOS / Windows 打的,没有给 Android ARM 的
  4. pip 降级到源码编译模式
  5. 源码编译需要 gcc + gfortran + BLAS 库 + 一堆头文件
  6. Android 系统本身不提供这些,编译失败

所以普通 Termux 里装 NumPy 得先 pkg install python-numpy,用的是 Termux 自己打包好的版本——不是 PyPI 标准安装路径。

Pydroid 的解法:专属 wheel 仓库

Pydroid 官方维护了一个专门给 Android ARM 打 wheel 的仓库,它的逻辑是:

  1. 提前把常见科学库(NumPy、SciPy、Matplotlib、scikit-learn、Jupyter...)用内置 C 编译器在 Pydroid 环境里编译好
  2. 把编译产物以标准 pip wheel 格式打包(.whl 文件,架构标记为 android_arm64)
  3. 托管在一个公开的 index 服务器上
  4. Pydroid 的 pip 默认先查这个仓库,找到匹配的 wheel 就直接下载安装(几秒完成),找不到再 fallback 到源码编译

哪些包有预编译 wheel

官方宣称以下包保证有预编译 wheel(优先秒装):

这个列表随 Pydroid 版本更新在变化,以 App 内 Pip 面板的「Quick Install」区为准——那里列出来的就是官方 wheel 仓库确认覆盖的热门包。

免费版 vs Premium 的 wheel 差异

某些库的预编译 wheel 被锁在 Premium 版:

免费版也能通过源码编译装这些库,但成功率和编译时间都无法保证。Premium 版独享预编译 wheel → 秒装。

仓库设置

左侧菜单 → Pip → Settings(或某个类似入口)可以管理这个仓库:

建议保持默认开启状态,除非你明确知道自己在做什么。