Python nie będzie działał w git bash (Windows). Kiedy wpisuję python w wierszu poleceń, zabiera mnie do pustej linii, nie mówiąc, że wszedł do Python 2.7.10, podobnie jak robi to w PowerShell. Nie wyświetla mi komunikatu o błędzie, ale Python po prostu nie działa.
Już upewniłem się, że uwzględniono zmienne środowiskowe w PATH c:\python27
. Co jeszcze mogę sprawdzić?
Sesja, w której występuje ten problem, wygląda następująco:
user@hostname MINGW64 ~
$ type python
python is /c/Python27/python
user@hostname MINGW64 ~
$ python
... siedzenie tam bez powrotu do monitu.
Odpowiedzi:
Po prostu wpisz to w swojej powłoce git w Windows ->
alias python='winpty python.exe'
, to wszystko i będziesz miał alias do pliku wykonywalnego Pythona. Cieszyć sięPS Aby dodać stałe aliasy, patrz poniżej,
następnie otwórz .bashrc, dodaj polecenie z góry i zapisz plik. Musisz utworzyć plik za pomocą konsoli lub nie możesz zapisać go pod właściwą nazwą. Musisz także zrestartować powłokę, aby zastosować zmianę.
źródło
quit()
, aby uciec z interpretera.^Z
(ctrl-Z) +,return
aby wyjść.alias python='winpty /c/Python27/python.exe'
Nie widzę następnej opcji na liście odpowiedzi, ale mogę uzyskać interaktywny monit za pomocą klawisza „-i”:
źródło
Jest to znany błąd w MSys2, który zapewnia terminal używany przez Git Bash. Możesz obejść ten problem, uruchamiając kompilację Python bez obsługi ncurses lub używając WinPTY , używanego w następujący sposób:
Te pliki binarne prekompilowanymi Msys mogą pracować z Git Bash. (Sprawdź, czy jest dostępna nowsza wersja, jeśli upłynęło dużo czasu od opublikowania tej odpowiedzi!).
Począwszy od Git dla Windows 2.7.1, spróbuj także użyć
winpty c:Python27/python.exe
; WinPTY może być dołączony od razu po wyjęciu z pudełka.źródło
build/console.exe c:/Python27/python.exe
- czy należy to uruchomić w konsoli GitMsys, czy w jakikolwiek inny sposób?build
jest to katalogconsole.exe
; odpowiednio zaktualizuj ścieżkę w zależności od tego, gdzie / jak ją zainstalowałeś.winpty c:/Python27/python.exe
, bez robienia niczego dodatkowego. Narzędzie winpty.exe można znaleźć na Git \ usr \ bin. Używam Git dla Windows v2.7.1Jestem użytkownikiem systemu Windows 10 i zainstalowałem GIT w moim systemie, akceptując tylko wartości domyślne.
Po przeczytaniu powyższych odpowiedzi otrzymałem 2 rozwiązania dla siebie i te 2 rozwiązania doskonale działają na GIT bash i ułatwiają mi wykonywanie instrukcji Python na GIT bash.
Dołączam 3 zdjęcia mojego terminalu GIT bash. Pierwszy z problemem, a drugi 2 jako rozwiązania.
PROBLEM - Kursor czeka tylko po naciśnięciu
python
poleceniaROZWIĄZANIE 1
Wykonaj
winpty <path-to-python-installation-dir>/python.exe
na terminalu GIT bash.Uwaga: Nie używaj
C:\Users\Admin
stylu ścieżki jak w GIT bash, zamiast tego użyj/C/Users/Admin
.W moim przypadku wykonałem
winpty /C/Users/SJV/Anaconda2/python.exe
polecenie na GIT bashLub jeśli nie znasz swojej nazwy użytkownika, uruchom ją
winpty /C/Users/$USERNAME/Anaconda2/python.exe
ROZWIĄZANIE 2
Wystarczy wpisać
python -i
i to wszystko.Dzięki.
źródło
winpty
będzie również działać z Windows Python Launcher, więc wszystko czego potrzebujesz to np.alias py='winpty py'
W .bashrc, a następnie wróć do normalności.Spróbuj
python -i
zamiast tegopython
, to kursor.źródło
Oprócz odpowiedzi @ Charles-Duffy możesz bezpośrednio używać winpty bez instalowania / pobierania czegokolwiek dodatkowego. Po prostu biegnij
winpty c:/Python27/python.exe
. Narzędzie winpty.exe można znaleźć na Git \ usr \ bin. Używam Git dla Windows v2.7.1Wbudowane pliki binarne z @ Charles-Duffy to wersja 0.1.1 (zgodnie z nazwą pliku), a dołączony to 0.2.2
źródło
Obejście Git Bash - Uruchom Python 2 i Python 3 z aliasami
HI . Jest to (dla mnie) najlepsze rozwiązanie do uruchamiania zarówno Pythona (Python 2.7, jak i Python 3.x) bezpośrednio z Git Bash w Win 10 => dodawanie aliasów do pliku aliasów, do którego używa Git Bash.
1) Otwórz (za pomocą edytora tekstu, takiego jak Atom lub inny) aliases.sh
na przykład: w moim przypadku plik jest w
C:\Software\Develop\Git\etc\profile.d\aliases.sh
2) Dodaj swój alias do Pythona
W moim przypadku to python.exe są instalowane w:
Musisz więc utworzyć 2 aliasy, jeden dla Python 2 ( nazwałem python2 ), a drugi dla Python 3 ( nazwałem tylko python ) Git Bash używa struktury plików linux, więc musisz zmienić „\” na „/”, a jeśli mam ścieżkę taką jak mój przykład Automatyzacja sieci, którą umieściłeś za pomocą „”
„Automatyzacja sieci” , np.
winpty to magiczne polecenie, które wywoła plik wykonywalny.
Dodaj więc te linie na początku aliases.sh
3) Dodaj lub zmodyfikuj inne aliasy (jeśli chcesz)
Zmodyfikowałem również alias ll, aby pokazać wszystkie pliki i listę czytelną dla ludzi:
4) Zapisz plik aliases.sh
5) OK !!! zamknij i uruchom ponownie Git Bash
Teraz na stałe możesz uruchomić oba Pythona bezpośrednio z powłoki Git po prostu pisząc
$ python
-> uruchom Python 3$ python2
-> uruchom Python 2$ ll
-> wprowadza ls -lah, aby szybko wyświetlić szczegółową listę plikówźródło
Możesz zmienić cel skrótu Git Bash z:
do
W ten sposób ConEmu uruchomił git bash (wersja 16). Najnowsza wersja uruchamia się normalnie i tak się tam dostałem ...
źródło
-l
: Spraw, aby bash działał tak, jakby został wywołany jako powłoka logowania-i
: Jeśli opcja -i jest obecna, powłoka jest interaktywnawpisz: 'winpty python' i będzie działać
gitbash ma pewne problemy podczas uruchamiania dowolnego polecenia, które zaczyna się od Pythona. dotyczy to również wszelkich poleceń manage.py dla Pythona. Zawsze zaczynaj od „winpty python manage.py” Przynajmniej to działa dla mnie. Z systemem Windows 10.
źródło
Oprócz odpowiedzi @Vitaliy Terziev
spróbuj,
touch .bash_profile
a następnie dodaj alias do pliku.źródło
2 obejścia zamiast rozwiązania: w moim Git Bash następuje zawieszenie następującego polecenia i nie otrzymuję z powrotem monitu:
Więc po prostu używam:
Jak niektórzy zauważyli powyżej, możesz także użyć:
.
źródło
Używam MINGW64 przez Visual Studio Code na Windows 10 i próbuję zainstalować
node-sass
(co wymagapython2
). Śledziłem felixrieseberg / windows-build-tools # 56 na Github, który rozwiązał mój problem.To jest szczególny przypadek, ale piszę na wypadek, gdyby ktoś miał ten sam problem:
npm --add-python-to-path='true' --debug install --global windows-build-tools
Spowoduje to zainstalowanie Pythona i innych wymaganych narzędzi do kompilacji
%USERPROFILE%\.windows-build-tools\python27
.źródło
W przypadku python w wersji 3.7.3 w vscode z gitbash jako domyślnym terminalem miałem do czynienia z tym przez jakiś czas, a następnie postępowałem zgodnie z radą @Vitaliy Terziev dodawania aliasu do .bashrc, ale z następującą specyfikacją:
alias python = '„/ c / Users / my user name / AppData / Local / Programs / Python / Python37 / python.exe”'
Zwróć uwagę na kombinację pojedynczych i podwójnych cudzysłowów ze względu na spacje „moja nazwa użytkownika”.
Dla mnie „winpty” nie mógł rozwiązać ścieżki pythona w vscode.
źródło
Innym przykładem tego problemu jest użycie interfejsu wiersza poleceń AWS Elastic Beanstalk (awsebcli, eb cli) z git bash (MINGW64, Mintty) w systemie Windows (przy użyciu git w wersji 2.19.0.windows.1).
Po prostu to publikuję, ponieważ zajęło mi trochę czasu, aby skończyć tutaj, szukając
eb-cli
konkretnych problemów.Polecenia takie jak
eb init
lubeb config save
, wymagające wprowadzenia danych przez użytkownika, wydają się powodować zawieszanie / zawieszanie się. W rzeczywistości wydaje mi się, że konsola nie jest aktualizowana tekstem wymagającym wprowadzenia danych przez użytkownika. Ponadtoeb deploy
aktualizuje tekst konsoli tylko po zakończeniu polecenia, więc nie widzę aktualizacji postępu aż do zakończenia.Jak wspomniano w informacjach o wydaniu git dla systemu Windows (dla wersji 2.19.0) i np. W odpowiedzi Xun Yang , należy zastosować obejście
winpty eb <command>
(zamiast po prostueb <command>
)Alternatywą, jak zasugerowano w tym git dla problemu z Windows , może być użycie natywnej konsoli Windows zamiast mintty (opcja podczas instalacji gita).
źródło
Ten, który zadziałał dla mnie, jest, jak wspomniano wcześniej w tych świetnych odpowiedziach powyżej, alias w następujący sposób: (Używam anakondy, więc najpierw znajdź ścieżkę pytona, a następnie dodaj ją do aliasu na git bash). 1. na terminalu anakonda uruchamiam:
where python
2. na git bash uruchamiam:alias python='winpty "C:\ProgramData\Anaconda3\envs\your_env_name\python.exe"'
3. Gotowe. Python jest zdefiniowany w git Bash przy użyciu aliasu.Podziękowania dla (Vitaliy Terziev & hygull) za ich bardzo pomocne odpowiedzi.
źródło
python.exe -i
działa, ale wystąpiły problemy z wyjściem z trybu interaktywnego, wysyłając „^ Z” (CTRL + Z). Wydaje się więc, że lepiej go używaćwinpty python.exe
w Git Bash na Windows.Użyj
~/bin
katalogu, aby utworzyć plik zawijania / odwołania (podobny~/bin/python
), który będzie dostępny wszędzie (możesz użyć innego odwołania do wersji, takiego jak~/bin/python37
).Kod w pliku:
Po prostu nie lubię tych „magicznych” aliasów, o których zawsze zapominasz, skąd się biorą, a czasami prowadzą do problemów w niektórych przypadkach.
~/bin/python
pliku i-i
parametru:źródło
19480756 [sig] bash 2740! sigpacket::process: Suppressing signal 18 to win32 process (pid 14820)
- przykład odpowiedzi po wysłaniu^Z
w trybie interaktywnym prowadzony przezpython.exe -i
Wpisz polecenie PY zamiast Python. Wywoływanie interpretera (python.org).
źródło
Spójrz na tę odpowiedź:
Git Bash nie chce uruchomić moich plików Pythona?
ścieżka w Git Bash powinna być ustawiona w następujący sposób:
źródło