执行Django的python manage.py shell命令报SyntaxError语法错误如何解决
报错原因
这个语法错误是Python版本与Django版本不兼容导致的:
你当前执行python manage.py shell时,python命令默认调用的是Python 2.x版本,而你使用的Django版本在2.0及以上,这类Django版本只支持Python 3,报错行的raise ... from ...是Python 3才新增的语法,Python 2.x无法识别,因此直接抛出语法错误。
解决方法
- 先确认本地已安装符合要求的Python 3版本,执行命令
python3 --version查看,建议使用3.6及以上版本匹配当前主流Django版本 - 直接替换执行命令即可正常启动shell:
python3 manage.py shell
- 如果想简化后续操作,可以给Python设置全局别名:
- 打开你当前shell的配置文件(zsh对应
~/.zshrc,bash对应~/.bash_profile) - 新增一行
alias python="python3"后保存 - 执行
source 配置文件路径让配置立即生效,之后直接用python命令就会默认调用Python 3
- 打开你当前shell的配置文件(zsh对应
- 长期开发建议使用虚拟环境隔离项目依赖,激活虚拟环境后,
python命令会自动对应虚拟环境内的Python 3版本,不会出现全局版本冲突问题。
内容的提问来源于stack exchange,提问作者Benoni Esckinder
相关产品推荐
相关产品推荐

