Termux安装Python时出现gcc编译错误的解决方法
Termux 安装Python时gcc编译报错修复方案
按以下顺序操作即可解决绝大多数该场景下的编译错误:
- 先同步更新官方源及已安装包,从根源避免版本不兼容问题
pkg update && pkg upgrade -y
执行过程中如果弹出配置文件覆盖提示,直接输入Y确认全量替换即可,保留旧版本配置文件大概率会导致编译阶段头文件、动态链接库版本不匹配触发gcc报错
- 安装Python编译所需的完整依赖链
pkg install -y build-essential clang libffi-dev openssl-dev zlib-dev liblzma-dev bzip2-dev readline-dev sqlite-dev ncurses-dev gdbm-dev
Termux 官方源目前默认使用clang作为主力C/C++编译器,环境内的gcc命令本质是clang的兼容软链接,不需要单独安装gcc包,额外安装第三方源的旧版gcc反而会触发编译参数不兼容问题
- 如果你是通过pyenv编译安装非源内版本的Python,完成上述两步后还需要配置全局编译环境变量,避免编译时找不到Termux沙箱内的库和头文件路径:
echo 'export LDFLAGS="-L/data/data/com.termux/files/usr/lib"' >> ~/.bashrc echo 'export CPPFLAGS="-I/data/data/com.termux/files/usr/include"' >> ~/.bashrc echo 'export PKG_CONFIG_PATH="/data/data/com.termux/files/usr/lib/pkgconfig"' >> ~/.bashrc source ~/.bashrc
配置完成后重新执行Python安装命令即可正常编译。
避坑提示:不要在su/root权限下执行Termux内的编译操作,Termux运行在普通应用沙箱内,提权后执行编译会出现路径寻址、权限判定异常,直接触发gcc报错。如果之前用root权限执行过安装命令,先执行
termux-setup-storage重置沙箱权限,再删掉~/.pyenv、~/tmp目录下的残留编译缓存后重试。
内容的提问来源于stack exchange,提问作者PB Pemburuberkelas
相关产品推荐
相关产品推荐

