Termux运行Python报ModuleNotFoundError:缺requests模块问题咨询
问题根因
- 不同环境的Python默认预装组件规则不同:Ubuntu的
python3主包会将requests作为系统依赖默认预装,因此安装完Python本体即可直接调用;Termux为了适配移动端存储限制,分发的Python包是最小化裁剪版本,仅包含Python官方标准库,不会预装任何第三方PyPI包,直接导入requests自然会触发模块找不到的报错。 - Termux环境没有遵循常规Linux的FHS路径规范,照搬桌面端Linux的装包命令(比如加sudo、改全局路径)容易出现装完包Python识别不到的问题。
修复步骤
- 先同步Termux官方源的最新包索引,避免旧缓存导致装包版本冲突:
pkg update -y - 选择以下任意一种方式安装
requests即可:- 优先选Termux源内置的预编译包,无需编译、适配性最好,不会出现移动端架构编译失败的问题:
pkg install python-requests -y - 如果需要最新版的
requests,直接用对应Python版本的pip安装即可,Termux下不需要加sudo:pip install requests
- 优先选Termux源内置的预编译包,无需编译、适配性最好,不会出现移动端架构编译失败的问题:
- 执行以下校验命令,能正常输出版本号即修复完成:
python -c "import requests; print('requests版本:', requests.__version__)"
注意:如果你使用了Python虚拟环境,需要先激活目标虚拟环境再执行安装命令,否则包会被安装到全局Python路径下,虚拟环境内依旧无法识别。
内容的提问来源于stack exchange,提问作者MUHAMMAD SHAHID RAFI C P
相关产品推荐
相关产品推荐

