Termux中使用apt安装特定版本Python的问题
解决Termux安装Python 3.8失败的问题
Termux官方软件源已移除Python 3.11以下的旧版本包,因此直接用apt/pkg指定版本安装会提示找不到对应版本。以下是三种可行的解决方法:
方法1:使用第三方仓库tur-repo安装
第三方仓库tur-repo维护了Termux的旧版软件包,步骤如下:
- 先安装tur-repo:
pkg install tur-repo - 安装Python 3.8:
pkg install python3.8 - 安装完成后,可通过
python3.8命令启动该版本,也可自行设置别名简化调用。
方法2:从源码编译安装
如果需要特定版本或依赖自定义编译参数,可选择源码编译:
- 安装编译依赖:
pkg install clang make openssl-dev bzip2-dev zlib-dev libffi-dev sqlite-dev - 下载Python 3.8的源码包(以3.8.18为例,可替换为目标版本号):
wget https://www.python.org/ftp/python/3.8.18/Python-3.8.18.tgz - 解压并进入源码目录:
tar -xf Python-3.8.18.tgz && cd Python-3.8.18 - 配置编译选项(指定安装路径,避免覆盖系统默认Python):
./configure --prefix=$HOME/python3.8 --enable-optimizations - 编译并安装:
make -j$(nproc) && make install - 将安装目录添加到环境变量,编辑
~/.bashrc或~/.zshrc:echo 'export PATH=$HOME/python3.8/bin:$PATH' >> ~/.bashrc - 刷新环境变量并验证:
source ~/.bashrc python3.8 --version
方法3:使用pyenv管理多版本Python
pyenv是轻量的Python版本管理工具,可快速切换不同版本:
- 安装pyenv依赖:
pkg install git clang make openssl-dev bzip2-dev zlib-dev libffi-dev sqlite-dev readline-dev - 克隆pyenv仓库到本地:
git clone https://github.com/pyenv/pyenv.git ~/.pyenv - 配置环境变量,编辑
~/.bashrc:echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc echo 'eval "$(pyenv init -)"' >> ~/.bashrc - 刷新环境变量:
source ~/.bashrc - 安装Python 3.8:
pyenv install 3.8.18 - 设置全局使用该版本(或用
local设置当前目录版本):pyenv global 3.8.18 - 验证安装:
python --version
内容的提问来源于stack exchange,提问作者i0ui0u
相关产品推荐
相关产品推荐

