部署应用遇ModuleNotFoundError:找不到dj_database_url模块求助
问题:Render部署Django应用时出现
ModuleNotFoundError: No module named 'dj_database_url' 部署到Render.com时触发如下错误:
File "/opt/render/project/src/calendar_app/settings.py", line 15, in <module> Nov 8 09:22:48 PM import dj_database_url Nov 8 09:22:48 PM ModuleNotFoundError: No module named 'dj_database_url'本地终端用pip检查该包时结果如下:
Requirement already satisfied: tzdata in c:\python310\lib\site-packages (from Django>=3.2->dj_database_url) (2023.3) WARNING: Ignoring invalid distribution -ip (c:\python310\lib\site-packages)
原因分析
- 本地环境虽已安装
dj_database_url,但该包未添加到项目的依赖管理文件(如requirements.txt)中,Render部署时只会安装文件中声明的依赖,未声明的包不会自动安装。 - 本地pip提示的无效包(
-ip)可能干扰依赖识别,但核心问题是依赖未在项目中明确声明。
解决步骤
添加依赖到
requirements.txt
在本地项目根目录执行命令导出当前环境依赖:pip freeze > requirements.txt或手动在
requirements.txt中添加一行:dj-database-url>=2.0.0(版本号可根据实际需求调整)
修复本地无效依赖(可选但推荐)
针对本地的无效包警告,执行命令修复:pip install --force-reinstall pip或直接删除
c:\python310\lib\site-packages中名为-ip的无效文件夹。重新部署到Render
将更新后的requirements.txt提交到Git仓库,触发Render的重新部署,平台会自动安装所有声明的依赖。
内容的提问来源于stack exchange,提问作者MrJonesBones
相关产品推荐
相关产品推荐

