2015-09-11 21 views
11

Des Versuch, einen Super-User für meine Datenbank zu erstellen:Nicht in der Lage mit Django Super-User erstellen manage.py

manage.py createsuperuser 

Erste traurige rekursive Nachricht:

Superuser-Erstellung übersprungen aufgrund nicht aktiv in ein TTY. Sie können manage.py createsuperuser in Ihrem Projekt ausführen, um eins manuell zu erstellen.

Ernsthaft Django? Ernst?

Die einzige Information, die ich für diese fand, war das eine der oben aufgeführt ist, aber es hat nicht funktioniert: Unable to create superuser in django due to not working in TTY

Und dieses andere hier, das ist im Grunde das gleiche: Can't Create Super User Django

+0

Verwenden Sie eine virtuelle Umgebung? Welche Art? Führst du das über die Befehlszeile in deinem virtualenv oder auf eine andere Art wie in einer IDE? – YPCrumble

+0

@YPCrumble Dies wird sowohl von PyCharm als auch von Plain Terminal ausgeführt, keine virtuelle Umgebung – gerosalesc

+0

Sie erhalten den gleichen Fehler in beiden? – YPCrumble

Antwort

26

Wenn Sie

$ python manage.py createsuperuser 
Superuser creation skipped due to not running in a TTY. You can run manage.py createsuperuser in your project to create one manually.
von Git Bash und das Gesicht der obigen Fehlermeldung ausgeführt werden versuchen winpty dhzB anhängen:

$ winpty python manage.py createsuperuser 
Username (leave blank to use '...'):

Um python Befehle wie gewohnt auf Windows laufen zu lassen als auch, was ich normalerweise Sie ist eine Alias-Zeile an die ~/.profile Datei dh Anhängen

MINGW64 ~$ cat ~/.profile 
alias python='winpty python' 

nach so tun, entweder Quelle der ~/.profile Datei oder s Implizit Neustart des Terminals und der ursprüngliche Befehl python manage.py createsuperuser sollte wie erwartet funktionieren!

+1

das funktioniert. Vielen Dank – Young

2

Ich bin Gehen Sie raten, dass, wenn Sie manage.py createsuperuser und nicht python manage.py createsuperuser verwenden Sie den Befehl aus einer IDE oder einer anderen seltsamen Umgebung ausführen. Versuchen Sie python manage.py createsuperuser außerhalb Ihrer IDE laufen und es sollte funktionieren. Idealerweise verwenden Sie eine virtual environment oder virtualenvwrapper.

+1

Ich ommited der Python, weil ich den absoluten Pfad zu meinem Python 3 Installation aufrufen, zeigt der Python-Befehl auf einen Python 2 in der gleichen Maschine – gerosalesc

+1

In Ihrer Befehlszeile, wenn Sie in Ihrem Python3-Interpreter , und führen Sie 'import sys; print (sys.stdin.isatty()) 'Was bekommst du? – YPCrumble

+0

@YPCrumple Ich dachte, dass pycharm Terminal tty war, aber Sie haben mir geholfen, herauszufinden, dass es nicht ist, benutzte ich wirklich einfaches altes Terminal dieses Mal und es hat funktioniert, danke – gerosalesc

Verwandte Themen