Не удалось создать суперпользователя с Django manage.py

Попытка создать суперпользователя для моей базы данных:

manage.py createsuperuser

Получение грустного рекурсивного сообщения:

Создание суперпользователя пропущено из-за отсутствия работы в TTY. Вы можете запустить manage.py createsuperuser в своем проекте, чтобы создать его вручную.

Серьезно Django? Серьезно?

Единственная информация, которую я нашел для этого, была приведена выше, но она не работала: Невозможно создать суперпользователя в django из-за отсутствия работы в TTY

И этот другой здесь, который в основном тот же: Невозможно создать суперпользователя Django

Ответ 1

Если вы запустите

$ 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.
из Git Bash и обратитесь к приведенному выше сообщению об ошибке, попробуйте добавить winpty i.e, например:
$ winpty python manage.py createsuperuser
Username (leave blank to use '...'):

Чтобы иметь возможность запускать команды python, как обычно, в Windows, а также то, что я обычно делаю, это добавить строку псевдонима в файл ~/.profile i.e.

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

После этого либо отправьте файл ~/.profile, либо просто перезапустите терминал, а начальная команда python manage.py createsuperuser должна работать как ожидалось!

Ответ 2

Я собираюсь предположить, что если вы используете manage.py createsuperuser, а не python manage.py createsuperuser, вы используете команду из среды IDE или какой-либо другой странной среды. Попробуйте запустить python manage.py createsuperuser вне вашей среды разработки, и он должен работать. В идеале вы бы использовали виртуальную среду или virtualenvwrapper.

Ответ 3

У меня была такая же проблема при попытке создать суперпользователя в контейнере докера с помощью команды: sudo docker exec -i <container_name> sh. Добавление опции -t решило проблему:

sudo docker exec -it <container_name> sh