2015-06-24 7 views
9

Ich versuche, die interaktive Shell in Python virtualenv in Windows auf Git-Bash auszuführen, aber es läuft nicht. Seltsam ist, es scheint nichts zu tun, nur der Cursor blinkt in der nächsten Zeile und gibt keine Ausgabe.python manage.py runserver, shell, dbshell friert auf git-bash ein

$ python manage.py shell 
| 

Allerdings kann ich Befehle wie - migrieren, makemigrations, sqlmigrate ausführen. Bei den Befehlen tritt ein Problem auf - shell, dbshell, runserver.

Dies scheint ein git-bash-Problem zu sein, weil ich in der Lage bin, Shell von der Befehlszeile aus auszuführen. Ich verwende PortableGit-2.4.3.1-2nd-release-candidate-64-bit.7z.exe unter Windows.

+0

Haben Sie versucht? 'python manage.py shell_plus --ipython' – vabada

+0

@dabad Kein Modul namens IPython. Ich verwende IPython BTW nicht. –

+0

Ich denke einfach 'python manage.py shell_plus' funktioniert nicht richtig? – vabada

Antwort

3

die Untersuchung in den Kommentaren zusammenfassend ...

Eine gute Möglichkeit, diese Art von Problemen zu untersuchen ist pystuck zu verwenden.

In diesem Fall scheint es eine Art interne Abhängigkeit von IPython zu geben, da die Installation von pystuck auch IPython installiert und der Fehler nicht mehr mit Both reproduziert reproduziert werden kann.

+0

Nun, ich werde diese Antwort für jetzt akzeptieren, da es mich zumindest mit meiner Arbeit vorangebracht hat. Ich muss immer noch sehen, warum es mit dem integrierten Python-Interpreter nicht funktioniert hat. Werde mit Pystuck spielen, wenn ich Zeit habe. In der Zwischenzeit, danke für deine Antwort :) –

+0

@Rohit Jain: Ja - es ist auch weniger als zufriedenstellend für mich, also hatte ich einen kurzen Blick auf den [code] (https://github.com/django/django/blob/8047e3666b0b50bb04e6f16c2a4fb21ddfd5713f /django/core/management/commands/shell.py). Es sieht so aus, als würde IPython gegenüber bpython und dann letztendlich dem Code-Modul verwendet.Meine Vermutung ist, dass Sie eine dumme bpython Installation haben. –

0

Ich habe keine Idee für die Befehle shell und dbshell, aber für runserver Befehl hatte ich das gleiche Problem. Ich löste

python manage.py runserver --noreload 

zu http://127.0.0.1:8000/ laufen gehen und den Browser zu aktualisieren. Ihr Terminal muss die Informationen Ihrer Website anzeigen

8

Das Problem ist python.exe selbst hat Probleme mit Gitbash. Angeblich hat es etwas mit der ncurses-Bibliothek zu tun.

Die Lösung ist, "wintty python.exe" anstelle von Python einzugeben. "winpty python.exe manage.py shell" sollte funktionieren. Sie können auch einen Alias ​​erstellen, um das Problem zu umgehen. Wenn Sie "alias python = 'winpty python.exe'" eingeben, wird es so "python manage.py shell" funktionieren, wie es sollte.

Diese Antwort erklärt es besser: Python not working in the command line of git bash

Verwandte Themen