Heroku执行migrate时出现django_apscheduler模块找不到错误
解决Heroku部署时ModuleNotFoundError: No module named 'django_apscheduler'的问题
问题1:未将django_apscheduler添加到requirements.txt
Heroku部署Python应用时,只会根据requirements.txt文件安装依赖包,本地通过pip install安装的包不会自动同步到Heroku服务器环境。解决步骤:
- 在本地项目根目录执行命令,将当前环境的所有依赖导出到requirements.txt:
pip freeze > requirements.txt - 将更新后的
requirements.txt提交到Git并推送到Heroku:git add requirements.txt git commit -m "Add django_apscheduler to dependencies" git push heroku main
问题2:INSTALLED_APPS列表中缺少逗号导致模块名拼接错误
查看你提供的settings.py代码,'myapp'末尾没有添加逗号,Python会自动将其与下一行的'django_apscheduler'拼接成'myappdjango_apscheduler',导致Django无法识别正确的模块名。修改后的INSTALLED_APPS应如下:
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'myapp', 'django_apscheduler', ]
- 保存修改后,提交并推送到Heroku:
git add settings.py git commit -m "Fix INSTALLED_APPS comma issue" git push heroku main
验证修复
完成上述操作后,重新执行迁移命令:
heroku run python manage.py migrate
内容的提问来源于stack exchange,提问作者Sam Fan
相关产品推荐
相关产品推荐

