You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django安装requirements.txt时报metadata generation failed错误

报错原因
  • 依赖清单存在无效包:sklearn==0.0是早就废弃的空占位包,没有实际功能,安装时会直接触发元数据生成失败,正常调用scikit-learn不需要单独安装这个包。
  • 编译依赖缺失:psycopg2==2.8.6是PostgreSQL的Python驱动,默认从源码编译安装,Windows缺PostgreSQL开发组件、Linux缺libpq-dev/python3-dev/编译工具链、macOS缺对应brew安装的pg依赖时,编译环节直接失败就会报这类错。
  • Python版本不兼容:清单里所有依赖都是2021年发布的旧版本,最高只支持Python 3.9,用Python 3.10及以上版本安装时,会因为语法、接口不兼容触发元数据生成、编译类报错。
  • 依赖没有完整安装的前提下,项目运行所需的核心库缺失,直接执行python manage.py migrate肯定无法正常运行。
解决步骤
  • 第一步先核对虚拟环境Python版本,执行python --version查看,如果版本号高于3.9,直接删掉现有虚拟环境,重新创建基于Python 3.9的虚拟环境,从根源规避旧依赖和新高版本Python的兼容问题。
  • 安装系统前置依赖:
    • Ubuntu/Debian系执行:sudo apt install python3.9-dev libpq-dev build-essential
    • Windows环境不需要装pg开发组件,后续直接换预编译的psycopg2包即可
    • macOS执行:brew install postgresql
  • 修改原requirements.txt文件:删掉sklearn==0.0整行,把psycopg2==2.8.6替换为psycopg2-binary==2.8.6,避免源码编译的各种坑。
  • 回到激活的虚拟环境,先把pip降到适配这批旧依赖的版本:pip install pip==21.3.1,再执行pip install -r requirements.txt,此时不会再出现元数据生成失败的报错。
  • 依赖全部安装完成后,再执行python manage.py migrate完成数据库迁移,即可正常启动项目。

注意:项目内的pickle格式机器学习模型是用scikit-learn 0.24.2训练导出的,不要随意升级scikit-learn、numpy、scipy的版本,否则加载模型时会出现版本不兼容报错。

内容的提问来源于stack exchange,提问作者panda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 15:39:15