Python wird nicht in git bash (Windows) ausgeführt. Wenn ich in der Befehlszeile Python eingebe, gelangt man zu einer leeren Zeile, ohne zu sagen, dass er in Python 2.7.10 wie in Powershell eingegeben wurde. Es gibt keine Fehlermeldung, aber Python läuft einfach nicht.
Ich habe bereits sichergestellt, dass die Umgebungsvariablen in PATH c:\python27
enthalten sind. Was kann ich noch prüfen?
Eine Sitzung, bei der dieses Problem auftritt, sieht folgendermaßen aus:
[email protected] MINGW64 ~
$ type python
python is /c/Python27/python
[email protected] MINGW64 ~
$ python
... dort sitzen, ohne zum Prompt zurückzukehren.
Geben Sie dies einfach in Ihre Git-Shell unter Windows ein -> alias python='winpty python.exe'
, das ist alles und Sie werden einen Alias für die ausführbare Python-Datei haben. Genießen
P.S. Für permanenten Alias-Zusatz siehe unten
cd ~
touch .bashrc
Ö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 mit dem richtigen Namen speichern. Sie müssen auch die Shell neu starten, um die Änderung zu übernehmen.
Die nächste Option wird in einer Antwortliste nicht angezeigt, aber ich kann interaktive Eingabeaufforderung mit der Taste "-i" erhalten:
$ python -i
Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55)
Type "help", "copyright", "credits" or "license" for more information.
>>>
Dies ist ein bekannter Fehler in MSys2, der das von Git Bash verwendete Terminal bereitstellt. Sie können dies umgehen, indem Sie ein Python-Build ohne Unterstützung für ncurses ausführen oder WinPTY verwenden, das folgendermaßen verwendet wird:
Um ein Windows-Konsolenprogramm in mintty oder Cygwin sshd auszuführen, stellen Sie console.exe an die Befehlszeile an:
$ build/console.exe c:/Python27/python.exe Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> 10 + 20 30 >>> exit()
Die vorgefertigten Binärdateien für msys funktionieren wahrscheinlich mit Git Bash. (Prü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, winpty c:Python27/python.exe
zu verwenden. WinPTY kann bereits im Lieferumfang enthalten sein.
Ich bin Windows 10-Benutzer und habe GIT in meinem System installiert, indem ich einfach die Standardeinstellungen akzeptiere.
Nachdem ich die obigen Antworten gelesen hatte, habe ich 2 Lösungen für meine eigenen gefunden, und diese 2 Lösungen funktionieren perfekt auf GIT bash und erleichtern mir die Ausführung von Python-Anweisungen auf GIT bash.
Ich füge 3 Bilder meines GIT bash Terminals hinzu. 1. mit Problem und die letzten 2 als Lösungen.
PROBLEM - Der Cursor wartet nur auf den Befehl python
LÖSUNG 1
Führen Sie winpty <path-to-python-installation-dir>/python.exe
auf GIT bash terminal aus.
Hinweis: Verwenden Sie C:\Users\Admin
nicht wie einen Pfadstil in GIT bash. Verwenden Sie stattdessen /C/Users/Admin
.
In meinem Fall habe ich winpty /C/Users/SJV/Anaconda2/python.exe
command auf GIT bash ausgeführt
Oder wenn Sie Ihren Benutzername nicht kennen, führen Sie winpty /C/Users/$USERNAME/Anaconda2/python.exe
aus.
LÖSUNG 2
Geben Sie einfach python -i
ein und das ist es.
Vielen Dank.
Zusätzlich zu der Antwort von @ Charles-Duffy können Sie winpty direkt verwenden, ohne zusätzliche Dateien installieren/herunterladen zu müssen. Führen Sie einfach winpty c:/Python27/python.exe
aus. Das Dienstprogramm winpty.exe befindet sich unter Git\usr\bin. Ich verwende Git für Windows v2.7.1
Die vorgefertigten Binärdateien von @ Charles-Duffy sind Version 0.1.1 (je nach Dateiname), während die mitgelieferte Binärdatei 0.2.2 ist
Neben @Vitaliy Terziev antworten
versuchen Sie touch .bash_profile
und fügen Sie der Datei dann einen Alias hinzu.
HALLO. Dies ist (für mich) die beste Lösung, um sowohl Python (Python 2.7 als auch Python 3.x) direkt von Git Bash unter Win 10 aus auszuführen => Hinzufügen von Aliasen zu der von Git Bash verwendeten Aliase-Datei.
Git Bash Aliase-Datei ist Aliase.sh . Es liegt in:
C:\path where you installed Git\etc\profile.d\aliases.sh
zum Beispiel: in meinem Fall die Datei ist in C:\Software\Develop\Git\etc\profile.d\aliases.sh
In meinem Fall die python.exe sind installiert in:
C:\Networking\Network Automation\Python 2.7\python.exe
C:\Networking\Network Automation\Python 3.7\python.exe
Also müssen Sie 2 Aliase erstellen, einen für Python 2 ( Ich nannte Python2 ) und den anderen für Python 3 ( Ich nannte nur Python ) Git Bash verwendet die Linux-Dateistruktur, daher müssen Sie das "\" für "/" ändern und wenn Sie einen Pfad wie in meinem Beispiel haben Network Automation du setzt es mit ""
"Network Automation" , zum Beispiel
winpty ist der magische Befehl, der die ausführbare Datei aufruft.
Also füge diese Zeilen am Anfang von aliases.sh hinzu
alias python2='winpty C/Networking/"Network Automation"/"Python 2.7"/python.exe'
alias python='winpty C/Networking/"Network Automation"/"Python 3.7"/python.exe'
Ich habe auch den ll -Alias geändert, um alle Dateien in einer für Menschen lesbaren Liste anzuzeigen:
alias ll='ls -lah'
Jetzt können Sie permanent beide Pythons direkt von Git Shell aus starten, indem Sie nur schreiben
$ python
-> starte Python 3
$ python2
-> starte Python 2
$ ll
-> gibt ein ls -lah ein, um schnell Ihre detaillierte Dateiliste anzuzeigen
Prost, Harry
Ich verwende MINGW64 über Visual Studio Code unter Windows 10 und versuche, node-sass
zu installieren (was python2
erfordert). Ich folgte felixrieseberg/windows-build-tools # 56 auf Github, was mein Problem löste.
Dies ist ein Sonderfall, aber ich poste, falls jemand dasselbe Problem hat:
npm --add-python-to-path='true' --debug install --global windows-build-tools
Dadurch werden Python und andere erforderliche Build-Tools für %USERPROFILE%\.windows-build-tools\python27
installiert.
Sie können das Ziel für die Git Bash-Verknüpfung folgendermaßen ändern:
"C:\Program Files\Git\git-bash.exe" --cd-to-home
zu
"C:\Program Files\Git\git-cmd.exe" --no-cd --command=usr/bin/bash.exe -l -i
Auf diese Weise hat ConEmu git bash (Version 16) gestartet. Die neueste Version startet normal und so bin ich dorthin gekommen ...
Ein anderes Beispiel für dieses Problem ist die Verwendung der AWS Elastic Beanstalk-Befehlszeilenschnittstelle (awsebcli, eb cli) aus der Git-Bas (MINGW64, Mintty) in Windows (unter Verwendung der Git-Version 2.19.0.windows.1).
Ich poste dies nur, weil es eine Weile dauerte, bis ich hier auf der Suche nach eb-cli
spezifischen Problemen war.
Befehle wie eb init
oder eb config save
, für die eine Benutzereingabe erforderlich ist, erscheinen, um ein Einfrieren/Hängen zu verursachen. In Wirklichkeit denke ich, dass die Konsole nicht mit dem Text aktualisiert wird, der eine Benutzereingabe anfordert. Außerdem aktualisiert eb deploy
nur den Konsolentext, nachdem der Befehl abgeschlossen wurde. Daher sehe ich keine Fortschrittsaktualisierungen, bis der Vorgang abgeschlossen ist.
Wie in den git for windows-Versionshinweisen erwähnt, _ (für v2.19.0) und z. In Xun Yangs Antwort soll ein Workaround ausgeführt werden
winpty eb <command>
(statt nur eb <command>
)
Eine Alternative, wie in diesem git for windows issue vorgeschlagen, könnte die Verwendung der Windows-Konsole anstelle von mintty sein (Option während der Installation von git).
Für Python-Version 3.7.3 in vscode mit gitbash als Standardterminal habe ich mich eine Weile damit beschäftigt und dann @Vitaliy Terzievs Rat gefolgt, den Alias zu .bashrc hinzuzufügen, aber 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 der Leerzeichen für "Mein Benutzername".
Für mich konnte "winpty" den Python-Pfad in vscode nicht auflösen.
Versuchen Sie python -i
anstelle von python
, es ist eine Cursorsache.
typ: 'Winpty Python' und es wird funktionieren
gitbash hat einige Probleme, wenn Sie einen Befehl ausführen, der mit Python beginnt. Dies gilt auch für alle Python-Befehle manage.py. Beginnen Sie immer mit 'winpty python manage.py'. Dies funktioniert zumindest für mich. Windows 10 ausführen.