安装ERPNext Schools应用报错(pip.req模块缺失)求助
解决Frappe Schools应用安装时
ModuleNotFoundError: No module named 'pip.req'的问题 错误根源
这个报错是因为Schools应用的setup.py依赖了pip.req模块,而该模块在pip 10及以上版本中已被移除,属于废弃API,导致安装过程中元数据生成失败。
方案一:降级pip到兼容版本(快速临时解决)
- 进入bench的虚拟环境:
cd /home/frappe/frappe-bench source env/bin/activate - 降级pip到保留
pip.req的9.0.3版本:pip install pip==9.0.3 - 退出虚拟环境:
deactivate - 重新安装Schools应用:
bench install-app schools
方案二:修改Schools应用的setup.py(持久解决方式)
如果不想降级pip,可手动替换废弃的代码:
- 打开Schools应用的setup.py文件:
nano /home/frappe/frappe-bench/apps/schools/setup.py - 删除原有的
from pip.req import parse_requirements行,替换为以下代码读取requirements.txt:def parse_requirements(filename): with open(filename, 'r') as f: return [line.strip() for line in f if line.strip() and not line.startswith('#')] - 找到原来调用
parse_requirements的代码,改为:requirements = parse_requirements('requirements.txt') - 保存文件后重新执行安装:
bench install-app schools
后续安装LMS应用
Schools安装成功后,执行以下命令安装LMS(加上--resolve-deps自动处理依赖):
bench get-app lms https://github.com/frappe/lms bench install-app lms --resolve-deps
内容的提问来源于stack exchange,提问作者Meet
相关产品推荐
相关产品推荐

