Django部署遇LookupError及supervisorctl启动失败问题求助
问题根源与解决方案
核心问题
你遇到的所有报错都是因为命令中使用了中文全角长破折号—,而非英文半角双短横线--:
- 执行
python manage.py check — deploy时,Django把全角的—误判为要检查的app标签,触发LookupError: No installed app with label '—' - Supervisor配置里的Gunicorn启动命令大概率也用了错误的全角破折号参数,导致启动时找不到名为
—的模块,出现ModuleNotFoundError
修复步骤
修正
check命令参数
执行正确的部署检查命令:python manage.py check --deploy确认命令无报错,验证Django配置的合法性。
检查并修复Supervisor配置文件
打开你的Django项目Supervisor配置(通常路径为/etc/supervisor/conf.d/django-demo.conf),检查所有命令参数里的破折号:- 把所有全角的
—替换为英文半角的--(比如—settings要改成--settings,—bind改成--bind等)
- 把所有全角的
重启Supervisor服务
执行以下命令更新配置并重启服务:sudo supervisorctl reread sudo supervisorctl update sudo supervisorctl restart django-demo验证修复结果
查看Gunicorn日志确认无报错:cat /var/log/gunicorn_supervisor.log同时访问你的站点,确认服务正常运行。
内容的提问来源于stack exchange,提问作者Mogli141
相关产品推荐
相关产品推荐

