在Vercel免费层部署DRF项目后遇模块未找到错误求助
解决Vercel部署DRF项目时的
No module named 'django'错误 问题核心
日志抛出的Runtime.ImportModuleError: No module named 'django',本质是Vercel的Serverless运行环境未正确安装Django及项目依赖,导致函数执行时找不到所需包。
解决方案
1. 确保依赖清单文件正确
项目根目录必须存在requirements.txt,完整列出所有依赖,示例:
django>=4.2 djangorestframework>=3.14 # 补充你项目用到的其他依赖,比如django-cors-headers、psycopg2-binary等
不要遗漏任何项目依赖,Vercel会依据此文件安装所需包。
2. 配置Vercel运行规则
在项目根目录创建/修改vercel.json,指定Django的WSGI入口和运行配置:
{ "builds": [ { "src": "你的项目名/wsgi.py", "use": "@vercel/python", "config": { "maxLambdaSize": "15mb", "runtime": "python3.11" } } ], "routes": [ { "src": "/(.*)", "dest": "你的项目名/wsgi.py" } ] }
- 替换
你的项目名为实际包含wsgi.py的Django项目文件夹名称 - 指定的Python版本要和本地开发环境一致,避免版本兼容问题
3. 检查Vercel部署配置
在Vercel控制台的「Build & Development Settings」中:
- Install Command留空(Vercel会自动执行
pip install -r requirements.txt),或手动设置为:pip install -r requirements.txt - Build Command无需额外设置(无前端构建需求时留空即可)
4. 本地验证依赖可用性
先在本地执行pip install -r requirements.txt,确认所有依赖能正常安装、无版本冲突,避免Vercel安装环节出错。
5. 清理缓存重新部署
在Vercel控制台的部署页面,点击「Redeploy」并勾选「Clear build cache」,强制重新构建并安装依赖。
验证
重新部署完成后访问链接,若仍有问题,查看Vercel函数日志,确认是否还有依赖缺失或其他配置类错误。
内容的提问来源于stack exchange,提问作者Tosin Ayoola
相关产品推荐
相关产品推荐

