Mac环境下无法创建Django 1.11超级用户问题求助
解决Django createsuperuser输入用户名后卡住的问题
嘿,我来帮你搞定这个创建超级用户卡住的麻烦!你在Mac 10.13.3上用Python 3.6.4跑Django 1.11,执行python manage.py createsuperuser输入用户名回车后完全没反应,最后只能中断命令抛出KeyboardInterrupt,这种情况我碰到过几次,给你几个靠谱的解决方向:
一、先排查终端交互环境的问题
这种卡住的情况很多时候是终端的编码或交互逻辑闹的:
- 先检查终端编码:打开终端偏好设置→高级,确认文本编码选的是Unicode(UTF-8),编码不对很容易导致输入无响应。
- 换个终端试试:比如把系统自带的Terminal换成iTerm2,或者反过来,不同终端的输入处理逻辑可能有差异,换一个说不定就正常了。
- 先设置环境变量再执行命令:在终端里先跑这两行,再创建超级用户:
export LC_ALL=en_US.UTF-8 export LANG=en_US.UTF-8
二、绕开交互式输入直接创建
如果终端的问题一时搞不定,直接用非交互式命令跳过输入环节:
python manage.py createsuperuser --username=admin --email=admin@yourdomain.com
执行后它会提示你输入密码,按要求输入两次就能成功创建超级用户了,完美绕开卡住的步骤。
三、检查Python的readline模块
Django的交互式命令依赖readline模块处理输入,如果这个模块缺失或异常也会导致卡住:
- 打开Python交互环境,输入
import readline,如果报错说明模块没装,用pip install readline安装(如果用了虚拟环境记得先激活)。 - 要是装了还是不行,就用上面的非交互式命令创建,或者考虑重新安装Python 3.6.4,确保基础模块完整。
四、排查虚拟环境的问题
如果你是在虚拟环境里运行的项目:
- 退出虚拟环境,用系统全局的Python 3.6执行
createsuperuser命令,看看是否还卡住。如果全局正常,那就是虚拟环境的问题,重新创建一个虚拟环境再装Django试试。
内容的提问来源于stack exchange,提问作者Netro
相关产品推荐
相关产品推荐

