Django——manage.py shell在使用git bash终端无法工作

4

我一直在跟随这个Django教程,但是在使用git bash终端时,我遇到了一些关于manage.py命令的问题。我的操作系统是Windows 10,使用的Python版本是2.7.11(Anaconda 2.4.1),Django版本是1.9.5,git版本是2.8.1.windows.1。

具体来说,当我在git bash终端下运行python manage.py runserverpython manage.py shell时,这两个命令似乎不能正常工作,但是在使用Anaconda终端时,它们却能够正常工作。我希望找到一种方法,在git bash中使其正常工作。

根据教程,当运行python manage.py runserver时,终端应该显示以下输出:

Performing system checks...

System check identified no issues (0 silenced).

April 19, 2016 - 15:50:53
Django version 1.9, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

使用git bash,我知道某些东西在工作,因为我可以在浏览器中导航到http://127.0.0.1:8000/,但是终端上没有任何输出。
尽管如此,我还是按照教程继续前进,因为这并没有真正影响到什么。它似乎可以工作,只是没有终端输出。然后,我到达了教程的这个部分,你需要使用python manage.py shell打开一个shell。
使用git bash时,没有任何反应。命令提示符从未打开,就好像被卡住了一样。没有错误,只有一个闪烁的光标和一行新的空格,没有命令提示符。如果我使用Anaconda终端执行相同的操作,则会成功打开shell。
起初,我认为这是安装错误。所以,我尝试使用pip installconda install来安装django,但我仍然遇到了相同的问题。我不太确定发生了什么,也没有找到解决方案。
非常感谢任何帮助。
更新:
我发现了一个类似的问题,它并没有完全解决问题,但它建议使用pystuck进行调试。我阅读了pystuck文档,但不太明白如何针对这个特定的问题使用它。

1
我刚刚发现了一个可能被视为重复问题。我花了很多时间寻找已经提出的类似问题,但是在我决定发布这个问题之后才看到这个问题。我正在检查这个其他问题是否可以解决我看到的问题。很快会更新。 - mark s.
有一个 SO 的 git-bash 标签,或许能帮助找到答案。 - C14L
@C14L -- 谢谢。已更新标签。 - mark s.
2个回答

2
我也遇到了这个问题,运行python manage.py runserver时缺少详细输出,只有高级页面响应。我使用的是 powershell 或 Git 命令提示符,那是一个选择 ... 这个修复程序还解决了使用 Git Bash 运行 python manage.py makemigrationspython manage.py migrate 的问题。
选项:使用 Git 命令提示符或 PowerShell。
临时修复:在 Git Bash 中运行此命令以生成此工作会话的详细输出:alias python='winpty python.exe' 永久修复:在 .bashrc 文件中使用临时修复程序,Git Bash 将始终具有详细输出。
 cd ~      #Takes you to your root directory.
 touch .bashrc

使用VIM或您选择的编辑器编辑文件,添加以下行(注意:来自MS Windows的记事本将无法正确保存此文件。不要使用记事本。):

 alias python='winpty python.exe'

重新启动Git Bash。 注意: 在某些情况下,当您启动git bash时,您将收到一个提示:

"警告:发现~/.bashrc但没有~/.bash_profile、~/.bash_login或 ~/.profile。

这看起来是不正确的设置。将为您创建一个加载~/.bashrc的~/.bash_profile文件。"

您会注意到第二个文件.bash_profile已经为您创建好了,您可以开始使用了!
就是这样...享受吧。

1
我不知道为什么,但我找到了一种解决方法。在Windows 7上(使用Anaconda2),当在Git Bash窗口中运行python manage.py runserver时,我也没有得到预期的结果:
Performing system checks...
System check identified no issues (0 silenced).

February 09, 2017 - 17:39:48
Django version 1.10.5, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8090/
Quit the server with CTRL-BREAK.

在Windows本地CMD提示符中进行相同操作成功了!!!
我在Sublime Text中打开了manage.py,当我保存它(或项目中的任何其他文件)时,服务器(在git bash窗口中启动并当前冻结)按预期启动。
也许这对你有用。不知道为什么会这样...

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接