2015-09-11 22 views
11

をmanage.pyの:悲しい再帰的なメッセージの取得は私のデータベースのスーパーユーザを作成しようと

manage.py createsuperuser 

スーパーユーザーの作成が原因で実行されていないにスキップTTY。あなたのプロジェクトでmanage.py createsuperuserを実行すると、手動で作成することができます。

真剣にジャンゴですか?真剣に?

私はこのために見つけた唯一の情報は、上に挙げたものだったが、それはうまくいきませんでした: Unable to create superuser in django due to not working in TTY

と基本的に同じであるここでは、この他の1、:私は Can't Create Super User Django

+0

仮想環境を使用していますか?どのような種類ですか?あなたはあなたのvirtualenvの中のコマンドラインから、あるいはIDEのような他の方法でこれを実行していますか? – YPCrumble

+0

@YPCrumbleこれをPyCharmとプレーンターミナルの両方から実行すると、仮想環境はありません。 – gerosalesc

+0

両方で同じエラーが表示されますか? – YPCrumble

答えて

26

あなたはのGit Bashのから

$ 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.
を実行し、上記のエラーメッセージは、例えば winptyすなわちを追加しようと直面した場合:

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

通常、何にもWindows上で私をいつものようにpythonのコマンドを実行できるようにしますそうした後

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

すなわち~/.profileファイルへのエイリアス行を追加し、いずれか~/.profileファイルまたはSを供給されません端末を再起動することを暗示し、初期コマンドpython manage.py createsuperuserは期待どおりに動作するはずです。

+1

は働いていないと思って私を助けた。ありがとう – Young

2

をあなたがmanage.py createsuperuserを使用していて、python manage.py createsuperuserでない場合、あなたはIDEまたは他の奇妙な環境の中からコマンドを実行していると推測します。 IDEの外でpython manage.py createsuperuserを実行してみるとうまくいくはずです。理想的にはvirtual environmentまたはvirtualenvwrapperを使用します。

+1

私はpython 3インストールの絶対パスを呼び出しているので、pythonを省略しました。pythonコマンドは同じマシンのpython 2を指しています – gerosalesc

+1

python3インタープリタ、 'import sys;を実行します。 print(sys.stdin.isatty()) 'あなたはどうしますか? – YPCrumble

+0

@YPCrumple私はpycharmターミナルはttyだったが、それは私が本当の平凡な古いターミナルを使用して、これは働いて、感謝 – gerosalesc

関連する問題