Python läuft nicht in Git Bash (Windows). Wenn ich Python in die Befehlszeile eingebe, werde ich in eine leere Zeile geführt, ohne zu sagen, dass Python 2.7.10 wie in Powershell eingegeben wurde. Es gibt mir keine Fehlermeldung, aber Python läuft einfach nicht.
Ich habe bereits sichergestellt, dass die Umgebungsvariablen in PATH enthalten sind c:\python27
. Was kann ich noch überprüfen?
Eine Sitzung, in der dieses Problem auftritt, sieht folgendermaßen aus:
user@hostname MINGW64 ~
$ type python
python is /c/Python27/python
user@hostname MINGW64 ~
$ python
... dort sitzen, ohne zur Eingabeaufforderung zurückzukehren.
Antworten:
Geben Sie dies einfach in Ihre Git-Shell unter Windows ein ->
alias python='winpty python.exe'
, das ist alles, und Sie erhalten einen Alias für die ausführbare Python-Datei. GenießenPS Für eine dauerhafte Aliasaddition siehe unten,
Öffnen Sie dann .bashrc, fügen Sie Ihren Befehl von oben hinzu und speichern Sie die Datei. Sie müssen die Datei über die Konsole erstellen, oder Sie können sie nicht unter dem richtigen Namen speichern. Sie müssen auch die Shell neu starten, um die Änderung zu übernehmen.
quelle
quit()
verwenden, um den Interpreter zu verlassen.^Z
(Strg-Z) +return
zum Beenden verwenden.alias python='winpty /c/Python27/python.exe'
Die nächste Option wird in einer Liste mit Antworten nicht angezeigt, aber ich kann eine interaktive Eingabeaufforderung mit der Taste "-i" erhalten:
quelle
Dies ist ein bekannter Fehler in MSys2, der das von Git Bash verwendete Terminal bereitstellt. Sie können dies umgehen , indem Sie einen Python-Build ohne Unterstützung von ncurses ausführen oder WinPTY wie folgt verwenden:
Die vorgefertigten Binärdateien für msys funktionieren wahrscheinlich mit Git Bash. (Überprüfen Sie, ob es eine neuere Version gibt, wenn seit der Veröffentlichung dieser Antwort viel Zeit vergangen ist!).
Versuchen Sie ab Git für Windows 2.7.1 auch, Folgendes zu verwenden
winpty c:Python27/python.exe
: WinPTY kann sofort geliefert werden.quelle
build/console.exe c:/Python27/python.exe
ob dies in der GitMsys-Konsole oder auf andere Weise ausgeführt werden soll?build
es sich um das Verzeichnisconsole.exe
handelt, in dem sich das Verzeichnis befindet. Aktualisieren Sie den Pfad entsprechend, je nachdem, wo / wie Sie ihn tatsächlich installiert haben.winpty c:/Python27/python.exe
, ohne etwas zusätzliches zu tun. Das Dienstprogramm winpty.exe finden Sie unter Git \ usr \ bin. Ich benutze Git für Windows v2.7.1Ich bin Windows 10-Benutzer und habe GIT auf meinem System installiert , indem ich nur die Standardeinstellungen akzeptiert habe.
Nachdem ich die obigen Antworten gelesen hatte, bekam ich 2 eigene Lösungen und diese 2 Lösungen funktionieren perfekt mit GIT- Bash und erleichtern mir das Ausführen von Python-Anweisungen mit GIT- Bash.
Ich hänge 3 Bilder meines GIT- Bash-Terminals an. 1. mit Problem und letzteres 2 als Lösung.
PROBLEM - Der Cursor wartet nur, nachdem er den
python
Befehl gedrückt hatLÖSUNG 1
Führen Sie
winpty <path-to-python-installation-dir>/python.exe
auf GIT bash Terminal.Hinweis: Verwenden Sie
C:\Users\Admin
in GIT- Bash nicht den gleichen Pfadstil, sondern stattdessen/C/Users/Admin
.In meinem Fall habe ich einen
winpty /C/Users/SJV/Anaconda2/python.exe
Befehl für GIT Bash ausgeführtOder wenn Sie Ihren Benutzernamen nicht kennen, führen Sie ihn aus
winpty /C/Users/$USERNAME/Anaconda2/python.exe
LÖSUNG 2
Einfach tippen
python -i
und fertig.Vielen Dank.
quelle
winpty
auch mit dem Windows Python Launcher funktioniert. Sie müssen also nur z. B.alias py='winpty py'
in Ihrer .bashrc-Datei arbeiten und dann zum Normalzustand zurückkehren.Versuchen Sie
python -i
stattdessenpython
, es ist eine Cursorsache.quelle
Zusätzlich zur Antwort von @ Charles-Duffy können Sie winpty direkt verwenden, ohne etwas extra installieren / herunterladen zu müssen. Lauf einfach
winpty c:/Python27/python.exe
. Das Dienstprogramm winpty.exe finden Sie unter Git \ usr \ bin. Ich verwende Git für Windows v2.7.1Die vorgefertigten Binärdateien von @ Charles-Duffy sind Version 0.1.1 (entsprechend dem Dateinamen), während die enthaltene Version 0.2.2 ist
quelle
Git Bash Workaround - Starten Sie Python 2 und Python 3 mit Aliasnamen
HI . Dies ist (für mich) die beste Lösung, um Python (Python 2.7 und Python 3.x) direkt von Git Bash unter Win 10 auszuführen => Aliase in die Aliase-Datei einzufügen, für die Git Bash verwendet.
1) Öffnen Sie (mit einem Texteditor wie Atom oder einem anderen) die aliases.sh
Zum Beispiel: In meinem Fall ist die Datei in
C:\Software\Develop\Git\etc\profile.d\aliases.sh
2) Fügen Sie Ihren Alias für Python hinzu
In meinem Fall sind die python.exe installiert in:
So Sie 2 Aliase erstellen müssen, einen für Python 2 ( I genannt python2 ) und die andere für Python 3 ( ich gerade genannt Python Linux - Dateistruktur Git Bash verwendet) , so dass Sie das ändern müssen „\“ für „/“ und wenn Sie Haben Sie einen Pfad wie mein Beispiel Netzwerkautomatisierung , den Sie mit ""
"Netzwerkautomatisierung" , zum Beispiel.
winpty ist der magische Befehl, der die ausführbare Datei aufruft.
Fügen Sie diese Zeilen also am Anfang von aliases.sh hinzu
3) Fügen Sie andere Aliase hinzu oder ändern Sie sie (wenn Sie möchten)
Ich habe auch den ll- Alias geändert , um alle Dateien und in einer von Menschen lesbaren Liste anzuzeigen:
4) Speichern Sie die Datei aliases.sh
5) OK !!! Schließen Sie Ihren Git Bash und starten Sie ihn neu
Jetzt können Sie permanent beide Python direkt von der Git-Shell aus starten, indem Sie einfach schreiben
$ python
-> Starten Sie Python 3$ python2
-> Starten Sie Python 2$ ll
-> gibt ein ls-lah ein, um schnell Ihre detaillierte Dateiliste anzuzeigenquelle
Sie können das Ziel für die Git Bash-Verknüpfung ändern von:
zu
Auf diese Weise startete ConEmu Git Bash (Version 16). Die neueste Version startet es normal und so bin ich dorthin gekommen ...
quelle
-l
:-i
Lassen Sie Bash so tun, als ob es als Login-Shell aufgerufen worden wäre : Wenn die Optionen -i vorhanden sind, ist die Shell interaktivTyp: 'Winpty Python' und es wird funktionieren
gitbash hat einige Probleme beim Ausführen eines Befehls, der mit Python beginnt. Dies gilt auch für alle python manage.py-Befehle. Beginnen Sie immer mit 'winpty python manage.py'. Zumindest funktioniert das bei mir. Windows 10 ausführen.
quelle
Zusätzlich zu @Vitaliy Terziev Antwort
Versuchen Sie,
touch .bash_profile
der Datei einen Alias hinzuzufügen.quelle
2 Problemumgehungen statt einer Lösung: In meinem Git Bash hängt der folgende Befehl und ich erhalte die Eingabeaufforderung nicht zurück:
Also benutze ich einfach:
Wie einige Leute oben bemerkt haben, können Sie auch verwenden:
.
quelle
Ich verwende MINGW64 über Visual Studio Code unter Windows 10 und versuche zu installieren
node-sass
(was erforderlich istpython2
). Ich folgte felixrieseberg / windows-build-tools # 56 auf Github, was mein Problem löste.Dies ist ein Sonderfall, aber ich poste, falls jemand das gleiche Problem hat:
npm --add-python-to-path='true' --debug install --global windows-build-tools
Dadurch werden Python und andere erforderliche Build-Tools installiert
%USERPROFILE%\.windows-build-tools\python27
.quelle
Für Python Version 3.7.3 in vscode mit gitbash als Standardterminal habe ich mich eine Weile damit befasst und dann den Ratschlägen von @Vitaliy Terziev gefolgt, den Alias zu .bashrc hinzuzufügen, jedoch mit der folgenden Spezifikation:
alias python = '/ c / Users / mein Benutzername / AppData / Local / Programs / Python / Python37 / python.exe' '
Beachten Sie die Kombination aus einfachen und doppelten Anführungszeichen aufgrund von Leerzeichen für "Mein Benutzername".
Für mich konnte "winpty" den Python-Pfad in vscode nicht auflösen.
quelle
Ein weiteres Beispiel für dieses Problem ist die Verwendung der AWS Elastic Beanstalk-Befehlszeilenschnittstelle (awsebcli, eb cli) aus der Git-Bash (MINGW64, Mintty) in Windows (unter Verwendung der Git-Version 2.19.0.windows.1).
Ich poste dies nur, weil ich eine Weile gebraucht habe, um hier zu landen und nach
eb-cli
bestimmten Themen zu suchen .Befehle wie
eb init
odereb config save
, für die Benutzereingaben erforderlich sind, scheinen ein Einfrieren / Hängen zu verursachen. In Wirklichkeit wird die Konsole vermutlich nicht mit dem Text aktualisiert, in dem Benutzereingaben angefordert werden. Außerdem wirdeb deploy
der Konsolentext erst nach Abschluss des Befehls aktualisiert, sodass ich erst nach Abschluss Fortschrittsaktualisierungen sehe.Wie im Git für Windows- Versionshinweise (für Version 2.19.0) und z. B. in der Antwort von Xun Yang erwähnt , muss eine Problemumgehung ausgeführt werden
winpty eb <command>
(statt nureb <command>
)Eine Alternative, wie in diesem Git für Windows-Problem vorgeschlagen , könnte darin bestehen, die native Windows-Konsole anstelle von Mintty zu verwenden (Option während der Git-Installation).
quelle
Das, was für mich funktioniert hat, ist, wie bereits in diesen großartigen Antworten oben erwähnt, der Alias wie folgt: (Ich verwende Anaconda, also finde zuerst, wo sich der Python-Pfad befindet, und füge ihn dann dem Alias bei Git Bash hinzu.) 1. Auf dem Anaconda-Terminal starte ich:
where python
2. Auf dem Git-Bash starte ich:alias python='winpty "C:\ProgramData\Anaconda3\envs\your_env_name\python.exe"'
3. Fertig. Python wird im Git Bash mithilfe des Alias definiert.Vielen Dank an (Vitaliy Terziev & Hygull) für ihre sehr hilfreichen Antworten.
quelle
python.exe -i
funktioniert, hat aber Probleme beim Verlassen des interaktiven Modus durch Senden von "^ Z" (STRG + Z). Also, scheint besserwinpty python.exe
in Git Bash für Windows zu verwenden.Verwenden Sie das
~/bin
Verzeichnis, um eine Wrap- / Referenzdatei (wie~/bin/python
) zu erstellen, auf die überall zugegriffen werden kann (Sie können auch andere Versionsreferenzen wie verwenden~/bin/python37
).Code in der Datei:
Ich mag diese "magischen" Aliase einfach nicht, die man immer vergisst, woher sie kommen, und in einigen Fällen manchmal zu Problemen führt.
~/bin/python
Datei und-i
Parameter:quelle
19480756 [sig] bash 2740! sigpacket::process: Suppressing signal 18 to win32 process (pid 14820)
- Antwortbeispiel nach dem Senden^Z
im interaktiven Modus ausgeführt vonpython.exe -i
Geben Sie den Befehl PY anstelle von Python ein. Aufrufen des Interpreters (python.org).
quelle
Schauen Sie sich diese Antwort an:
Git Bash führt meine Python-Dateien nicht aus?
Der Pfad in Git Bash sollte folgendermaßen festgelegt werden:
quelle