python manage.py runserver, оболочка, 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.


person Rohit Jain    schedule 24.06.2015    source источник
comment
Ты пробовал? python manage.py shell_plus --ipython   -  person vabada    schedule 24.06.2015
comment
@dabad Нет модуля с именем IPython. Я не использую IPython BTW.   -  person Rohit Jain    schedule 24.06.2015
comment
Я думаю, просто python manage.py shell_plus не работает правильно?   -  person vabada    schedule 24.06.2015
comment
@dabad Нет. Это не так. Но он показывает некоторый вывод относительно устаревания.   -  person Rohit Jain    schedule 24.06.2015
comment
Если у меня проблемы с зависшими программами, я обычно пробую на них PyStuck... Можете ли вы получить любой стек вывод из этого, чтобы показать, что происходит?   -  person Peter Brittain    schedule 26.06.2015
comment
@PeterBrittain Ну, я установил PyStuck, вместе с ним был установлен и IPython, с которым он работает.   -  person Rohit Jain    schedule 27.06.2015
comment
Итак, этот путь не поможет ... Он все еще воспроизводится без pystuck или установка IPython устранила вашу проблему?   -  person Peter Brittain    schedule 27.06.2015
comment
@PeterBrittain На самом деле с IPython проблема, кажется, решена.   -  person Rohit Jain    schedule 01.07.2015
comment
Странный. Интересно, есть ли там какая-то необъявленная зависимость... Написание того, что мы нашли, в качестве формального ответа. Дайте мне знать, если есть что-то еще, что, по вашему мнению, я должен добавить туда.   -  person Peter Brittain    schedule 01.07.2015


Ответы (3)


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

Хороший способ исследовать подобные проблемы — использовать pystuck.

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

person Peter Brittain    schedule 01.07.2015
comment
Что ж, я пока приму этот ответ, так как он, по крайней мере, заставил меня продвинуться в своей работе. Все еще нужно понять, почему он не работал со встроенным интерпретатором Python. Поиграюсь с pystuck, когда у меня будет время. Между тем, спасибо за ваш ответ :) - person Rohit Jain; 01.07.2015
comment
@Rohit Jain: Да, меня это тоже не устраивает, поэтому я быстро просмотрел код. Похоже, IPython будет использоваться вместо bpython, а затем, в конечном итоге, модуля кода. Я предполагаю, что у вас есть хитрая установка bpython. - person Peter Brittain; 01.07.2015

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

Решение состоит в том, чтобы ввести «winpty python.exe» вместо python. «Оболочка winpty python.exe manage.py» должна работать. Вы также можете создать псевдоним, чтобы обойти проблему. Ввод «alias python='winpty python.exe'» сделает так, чтобы «оболочка python manage.py» работала должным образом.

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

person Yxven    schedule 07.10.2016

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

python manage.py runserver --noreload

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

person jcastrov    schedule 29.09.2016