python manage.py runserver, shell, dbshell зависает на git-bash

Я пытаюсь запустить интерактивную оболочку в python virtualenv в windows, на git-bash, но она не работает. Странно, что он ничего не делает, просто курсор мигает на следующей строке, не давая никакого вывода.

$ python manage.py shell
|

однако я могу запускать такие команды, как-migrate, makemigrations, sqlmigrate. Проблема возникает с командами-shell, dbshell, runserver.

это, кажется, какая-то проблема, связанная с git-bash, потому что я могу запустить оболочка из командной строки. Я использую PortableGit-2.4.3.1-2nd-release-candidate-64-bit.7z.exe на windows.

3 ответов


подведение итогов расследования в комментариях...

хороший способ исследовать такие проблемы-использовать pystuck.

в этом случае, казалось бы, была какая-то внутренняя зависимость от IPython, поскольку установка pystuck также устанавливает IPython, и ошибка больше не воспроизводится с обоими установленными.


проблема в python.exe сам по себе имеет проблемы с gitbash. Предположительно, это как-то связано с библиотекой ncurses.

решение типа "winpty питона.exe " вместо python. "winpty python.exe manage.py shell " должен работать. Можно также создать псевдоним, чтобы обойти проблему. Ввод "псевдоним python=' winpty python.exe '"сделает это так" python manage.py shell " работает так, как должно.

этот ответ объясняет это лучше: Python не работает в командная строка git bash


у меня нет идеи для команд shell и dbshell, но и runservercommand, у меня была такая же проблема. Я решил бежать

python manage.py runserver --noreload

на http://127.0.0.1:8000/ и обновить браузер. Ваш терминал должен показывать информацию о вашем сайте