Alex Blog

如何在 Android 中利用termux配置并使用 Linux 环境以及 Python

我今天的方案主要是通过使用 Termux app 来实现在 Android 端部署 Linux 环境和 Python 环境。

这篇文章主要介绍一个基于 VLM 的使用例子(将不涉及 VLM 本身),聚焦于环境的搭建,包括 Termux 的安装、Python 环境设置,以及在 Python 虚拟环境中部署 Gradio 网页服务的全过程。

1. 安装 Termux

你可以通过网络下载 Termux 的 APK 文件并直接安装。

如果你的 Android 版本较低(如某些工业 Android 系统),Termux 分发格式为 xapk,可以通过以下方式安装:

  • .xapk 重命名为 .zip 并解压
  • 使用 adb install-multiple 命令安装:
adb install-multiple com.termux.apk config.arm64_v8a.apk config.en.apk config.mdpi.apk config.zh.apk

2. 安装 Python 3.10

Termux 默认使用 Python 3.12,但因特殊原因,我需要 Python 3.10,安装流程如下:

pkg update && pkg upgrade
pkg uninstall python
pkg install tur-repo
pkg update
pkg install python3.10
ln -sf /data/data/com.termux/files/usr/bin/python3.10 $PREFIX/bin/python3
ln -sf /data/data/com.termux/files/usr/bin/python3.10 $PREFIX/bin/python

3. 构建 NumPy

NumPy 无法通过直接 pip 安装 wheel 文件的方式完成,因此需通过源码编译安装:

pkg install lfortran
export FC=lfortran
pip install setuptools==59.8.0
pkg install libexecinfo build-essential openblas llvm libllvm
MATHLIB="m" pip install numpy==1.25.2

注意:不要在 Python 3.10 环境下安装 numpy2, 所以我这边指定了版本1.25.2; 如果你是python 3.12 则可以安装numpy2。

4. 安装 Gradio

Gradio 依赖多个编译库,同时 Pillow 还依赖 JPEG 支持。以下是准备工作:

pkg update && pkg upgrade
pkg install python
pkg install clang make libffi libjpeg-turbo rust

5. 关于国内网络下载问题

在国内环境中部署 Gradio 时,可能会因下载 Huggingface 所依赖的 frpc 文件失败而出错。

解决方案为:手动下载该文件并放置到目录 .cache/huggingface/gradio/frpc 中。

使用 Gradio 时页面会提示缺失该文件并提供下载链接,可根据提示进行处理(可能需要梯子)。

至此,一个可用的 Android + Linux + Python + Gradio 环境就配置完成了。

 


已发布

分类

来自

标签:

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注