怎么在安卓手机用Termux安装并运行Python脚本

Elena
Elena
发布时间:2026-11-08 | 7人浏览过
原创

详细介绍在安卓手机上使用Termux终端模拟器配置Python环境、管理包依赖并编写与运行Python脚本的完整步骤与避坑指南。

在安卓手机上运行 Python 脚本最直接、稳定的方案是使用 Termux。Termux 是一个基于 Android 系统的开源终端模拟器和 Linux 环境应用,不需要手机获取 Root 权限即可提供完整的 Linux 用户空间、官方软件包管理器以及标准 Python 3 运行时。本文将完整梳理客户端准备、环境配置、脚本编写与运行、第三方库安装以及长效后台运维的具体步骤与避坑细节。

怎么在安卓手机用Termux安装并运行Python脚本
图 0:Termux 终端在安卓系统上运行 Python 的总体交互架构

前置准备:安装正确的 Termux 客户端版本

要在安卓手机上顺利搭建 Python 环境,第一步也是最容易踩坑的环节就是获取正确的 Termux 安装包。很多初学者习惯性地在 Google Play 商店或普通手机应用商店中搜索并下载 Termux,这会导致后续步骤几乎百分之百失败。

由于 Google Play 的 API 等级策略调整(要求 Target API 针对更高版本的 Android 进行限制,禁止应用在私有目录中执行未打包的二进制程序),Termux 官方早在 2020 年就已停止在 Google Play 商店更新。目前 Play 商店遗留的版本版本号停留在 0.101 附近,其内置的软件源地址早已失效。在该版本下运行任何包管理命令,都会提示 403 权限拒绝或 404 无法连接仓库。

关键注意事项:请务必从开源应用仓库 F-Droid 或 Termux 的 GitHub Releases 官方页面下载最新版本的 Termux APK(通常包名版本高于 0.118)。安装时若系统提示来源未知,点击允许安装即可。

安装完成后初次打开 Termux,应用会自动释放基础文件系统并初始化 Linux 环境。当屏幕出现以 $ 结尾的命令提示符时,说明终端环境已经就绪。

第一阶段:授予存储权限与初始化包管理器

Termux 是运行在独立应用沙箱内的,默认情况下无法读取手机相册、下载目录等公共存储中的文件。为了方便日后导入外部脚本或让 Python 输出文件到手机储存中,需要先完成存储权限映射。

1. 申请存储权限

在 Termux 窗口中直接输入以下命令并回车:

termux-setup-storage

手机屏幕此时会弹出系统的“允许访问照片和文件”授权弹窗,点击“允许”。执行成功后,Termux 会在当前用户的主目录(~/)下创建一个名为 storage 的软链接文件夹,里面直连了手机的下载目录(~/storage/downloads)和共享存储(~/storage/shared)。

2. 更新软件包索引与核心工具

在安装 Python 前,必须同步最新的软件源索引并更新基础依赖。在终端执行:

pkg update && pkg upgrade

在升级过程中,屏幕可能会出现几次类似于 default=N 或 [Y/n] 的配置文件覆盖提示。初学者无需手动改动,直接按下软键盘上的回车键(Enter)使用默认选项即可。

网络连接超时处理:如果手机所处网络直连海外默认源较慢,导致 pkg update 频繁报错超时,可以在终端输入 termux-change-repo,进入图形化菜单,使用方向键选择国内的清华大学(Tsinghua)或中国科学技术大学(USTC)镜像源,确认后即可大幅提高下载速率。
怎么在安卓手机用Termux安装并运行Python脚本
图 1:在 Termux 中安装与运行 Python 的核心步骤流水线

第二阶段:安装 Python 与环境验证

Termux 官方维护了针对 Android ARM64/ARM 架构优化编译的 Python 软件包,安装过程仅需一条命令。

1. 安装 Python 核心包

在终端输入以下命令:

pkg install python

终端会提示需要占用的存储空间大小(通常在 100MB 左右),输入 y 并回车确认。Termux 会自动下载 Python 3 解释器、标准库以及包管理工具 pip、setuptools 和 wheel。

2. 验证安装结果

安装完成后,通过查看版本号确认 Python 和 pip 是否均已处于可工作状态:

python --version
pip --version

终端中的示例反馈应类似于:

~ $ python --version
Python 3.11.8
~ $ pip --version
pip 24.0 from /data/data/com.termux/files/usr/lib/python3.11/site-packages/pip (python 3.11)

只要能正确打印出 Python 3.x 以及 pip 的路径信息,就表明 Python 运行环境已经成功就绪。

第三阶段:编写并运行 Python 脚本

在安卓手机上编写与运行脚本,通常有两种高效的工作方式:直接在 Termux 内置编辑器中编写,或者在外部图形化编辑器中编写后交由 Termux 执行。

怎么在安卓手机用Termux安装并运行Python脚本
图 2:Termux 私有沙箱与 Android 共享存储的目录映射与交互路径

工作方式 A:在 Termux 内部直接创建并编辑脚本(推荐轻量调试)

Termux 预装了基础命令行工具,可以通过安装 nano 文本编辑器快速上手:

pkg install nano
nano hello.py

此时终端会切换进入全屏编辑界面。我们输入一段包含标准输出、平台环境读取与基础计算的脚本作为验证:

# hello.py
import sys
import os
import platform
import time

def main():
    print("====================================")
    print("来自 Termux 的 Python 脚本正在运行!")
    print("====================================")
    print(f"当前 Python 版本 : {platform.python_version()}")
    print(f"操作系统核心     : {platform.system()} {platform.release()}")
    print(f"运行设备架构     : {platform.machine()}")
    print(f"当前工作目录     : {os.getcwd()}")
    print(f"当前时间戳       : {time.strftime('%Y-%m-%d %H:%M:%S')}")
    
    # 模拟简单的逻辑计算
    total = sum(i * 2 for i in range(100))
    print(f"前 100 项偶数和  : {total}")
    print("====================================")

if __name__ == "__main__":
    main()

输入完成后,在手机上按下快捷键 Ctrl + O 并回车确认保存,随后按下 Ctrl + X 退出编辑器。

运行脚本与查看输出

回到终端命令行后,直接调用 Python 解释器执行刚才创建的文件:

python hello.py

脚本执行后的预期输出如下:

~ $ python hello.py
====================================
来自 Termux 的 Python 脚本正在运行!
====================================
当前 Python 版本 : 3.11.8
操作系统核心     : Linux 5.10.136-android12-9
运行设备架构     : aarch64
当前工作目录     : /data/data/com.termux/files/home
当前时间戳       : 2026-11-01 02:22:15
前 100 项偶数和  : 9900
====================================

工作方式 B:通过手机外部编辑器编写,在 Termux 中执行

如果脚本逻辑较长,在手机终端小屏幕内用 nano 编写不够舒适,可以在手机上安装图形化代码编辑工具(例如开源的 Acode 或各类文本编辑器),将脚本直接保存在手机的“下载(Download)”或“文档”目录中。

假设你用 Acode 将脚本保存到了手机内部存储的 Download/my_task.py,在 Termux 中只需要通过软链接切换路径即可运行:

cd ~/storage/downloads
python my_task.py

这种分离模式下,外部应用负责代码编写与高亮,Termux 充当纯粹的运行容器,体验更加接近桌面端开发。

第四阶段:依赖库管理(pip 与 C 扩展模块避坑)

实际开发中脚本往往依赖第三方库。在安卓平台上安装依赖时,需要根据模块类型选择正确的安装途径。

怎么在安卓手机用Termux安装并运行Python脚本
图 3:Termux 环境下 Python 第三方库的安装路径分流策略

1. 纯 Python 模块:直接使用 pip 安装

对于不包含底层 C/C++ 编译扩展的纯 Python 库(例如爬虫常用的 requests、beautifulsoup4,或者轻量 Web 框架 flask),直接使用标准 pip 命令即可正常安装:

pip install requests beautifulsoup4

为了加快下载速度,建议将 pip 源更换为国内镜像:

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

2. 包含 C 扩展的科学计算与图像库:优先通过 pkg 安装官方二进制

当尝试安装 numpy、pandas、pillow、lxml 或 cryptography 等模块时,直接执行 pip install numpy 往往会报错崩溃。原因在于:

  • Android 系统底层使用的是 Bionic C 库,而不是标准 Linux 发行版所依赖的 GNU glibc。
  • PyPI 上预先打包好的 manylinux 预编译 wheel 包无法直接在 Android ARM64 架构上载入运行。
  • pip 会尝试在手机本地从源码编译,但手机默认缺失 C/C++ 编译器以及 Python 的头文件。

针对这类常用的大型库,Termux 官方仓库已经预先为移动端适配并编译好了现成二进制包,强烈推荐优先使用 pkg 进行安装:

目标 Python 模块 推荐安装命令(Termux 预编译) 说明
numpy pkg install python-numpy 包含底层 BLAS/LAPACK 针对 ARM 架构的加速支持
scipy pkg install python-scipy 科学计算库,包含 Fortran 与 C++ 预编译组件
pillow (PIL) pkg install python-pillow 图像处理库,已集成 libjpeg、libpng 编解码器
lxml pkg install python-lxml 网页解析加速库,已集成 libxml2 与 libxslt
cryptography pkg install python-cryptography 加解密库,避免了本地构建 Rust 与 OpenSSL 工具链

3. 本地编译特殊第三方包:补全编译工具链

如果要安装的某个特殊库在 pkg 列表中没有收录,必须从源码编译,则需要在 Termux 中先安装编译基础设施:

pkg install clang make libffi libffi-dev

配置好 clang 编译器后,再执行 pip install <package>,pip 便可以在手机本地调用 clang 完成 C 源码的编译与链接。

第五阶段:长效运行保活与常见报错排查

在手机上运行爬虫、定时监控脚本或本地轻量 Web 服务时,很容易遇到手机息屏一段时间后脚本被系统强行终止的问题。

怎么在安卓手机用Termux安装并运行Python脚本
图 4:Termux 长期运行运维与常见异常场景排错指南

1. 保持 CPU 唤醒锁(防止息屏杀进程)

现代 Android 系统的电池管理非常严格,手机锁屏后几分钟内就会进入深度睡眠,降低 CPU 频率并挂起后台网络,甚至直接杀死占用资源的应用。

为了让脚本持续运行,需要在 Termux 中申请系统的 Wake Lock(唤醒锁):

termux-wake-lock

执行该命令后,Termux 会在通知栏常驻一条带有“wake lock held”的通知,强制 Android 保持 CPU 处于唤醒状态,保证脚本和网络连接不被挂起。脚本运行完毕后,可以执行以下命令释放锁以节省电量:

termux-wake-unlock

2. 系统电池优化白名单设置

仅有软件层面的 wake lock 依然可能被部分厂商的定制系统(如 MIUI、HyperOS、ColorOS、OriginOS 等)强杀。还需要在手机系统的设置中进行如下配置:

  1. 打开手机 “系统设置” -> “应用管理” -> “Termux”。
  2. 找到 “省电策略” 或 “电池管理”,将其从“智能限制”修改为 “无限制” 或 “允许后台高耗电”。
  3. 开启 “允许应用自启动” 与 “允许关联启动”。

3. 常见报错与排查清单

  • 报错 bash: /sdcard/...: Permission denied:安卓的共享存储分区(/sdcard)在文件系统挂载时带有了 noexec 标志,禁止直接作为可执行程序启动。不要直接使用 ./script.py,而必须通过解释器显式调用:python /sdcard/.../script.py。
  • 报错 No module named 'xxx':确认当前脚本引用的 Python 解释器是否就是 Termux 中安装的实例。在终端输入 which python,正常路径应为 /data/data/com.termux/files/usr/bin/python。如果在多环境切换中混乱,使用 python -m pip install xxx 可以确保库准确安装到当前使用的解释器路径下。
  • 报错 clang: error: linker command failed with exit code 1:说明该 Python 包在调用底层 C 库时缺失了对应的系统头文件。可根据具体缺失的文件名通过 pkg search <name> 搜索对应的头文件包(例如 libxml2-dev、openssl-tool)并补充安装。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表