执行python manage.py runserver时Django启动报错求助
解决Django 1.11.10 + Python 3.8.1运行
runserver报错的问题 你的问题根源很明确:Django 1.11.10和Python 3.8.1不兼容。根据Django官方文档,1.11系列仅支持Python 2.7、3.4、3.5、3.6,完全不支持Python 3.8。你遇到的SyntaxError: Generator expression must be parenthesized就是Python版本语法变化(3.8对某些语法要求更严格)和旧版Django代码不匹配导致的。
下面给你两种可行的解决思路:
思路一:降级Python到兼容版本
如果你的项目必须依赖Django 1.11.10,那只能调整Python版本:
- 卸载当前的Python 3.8.1,安装Python 3.6.x系列的稳定版(推荐3.6.15,这是3.6分支的最后一个维护版本)
- 重新在这个Python环境下安装Django 1.11.10:
pip install django==1.11.10 - 切换到项目目录,再次执行
python manage.py runserver即可正常启动
思路二:升级Django到支持Python 3.8的版本
如果是刚创建的新项目,更推荐升级Django来适配Python 3.8:
- 先卸载旧版Django:
pip uninstall django - 安装兼容Python 3.8的LTS(长期支持)版本,比如Django 3.2.x(支持Python 3.6-3.10):
pip install django==3.2.25 - 注意:由于从1.11到3.2版本跨度较大,需要检查项目代码是否有使用旧版Django的废弃API。如果是刚创建的空白项目,基本不需要调整,直接启动即可;如果是有一定代码量的项目,建议对照Django官方的升级指南逐步适配。
内容的提问来源于stack exchange,提问作者Sriramgirish
相关产品推荐
相关产品推荐

