Подтвердить что ты не робот

Python не работает в командной строке git bash

Python не будет запускаться в git bash (Windows). Когда я пишу python в командной строке, он берет меня на пустую строку, не говоря о том, что он ввел python 2.7.10, как это делает в Powershell. Это не дает мне сообщение об ошибке, но python просто не запускается.

Я уже убедился, что переменные среды в PATH включены c:\python27. Что еще я могу проверить?


Сеанс, в котором эта проблема возникает, выглядит следующим образом:

[email protected] MINGW64 ~
$ type python
python is /c/Python27/python

[email protected] MINGW64 ~
$ python

... сидит там, не возвращаясь к приглашению.

4b9b3361

Ответ 1

Просто введите это в оболочку git в windows → alias python='winpty python.exe', вот и все, и вы будете иметь псевдоним для исполняемого файла python. Наслаждайтесь

P.S. Для получения постоянного псевдонима см. Ниже,

cd ~
touch .bashrc

затем откройте .bashrc, добавьте свою команду сверху и сохраните файл. Вам нужно создать файл через консоль или вы не можете сохранить его с соответствующим именем. Вам также необходимо перезапустить оболочку, чтобы применить изменение.

Ответ 2

Я не вижу следующий вариант в списке ответов, но я могу получить интерактивное приглашение с ключом "-i":

$ 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.
>>> 

Ответ 3

Это известная ошибка в MSys2, которая предоставляет терминал, используемый Git Bash. Вы можете обойти это, запустив сборку Python без поддержки ncurses или используя WinPTY, используемую следующим образом:

Чтобы запустить консольную программу Windows в mintty или Cygwin sshd, добавьте console.exe в командную строку:

$ 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()

готовые двоичные файлы для msys, скорее всего, будут работать с Git Bash. (Проверьте, есть ли более новая версия, если прошло значительное время с момента публикации этого ответа!).


Как и для Git для Windows 2.7.1, попробуйте использовать winpty c:Python27/python.exe; WinPTY может быть включен из коробки.

Ответ 4

Я пользователь Windows 10, и я установил GIT в моей системе, просто приняв значения по умолчанию.

Прочитав приведенные выше ответы, я получил 2 собственных решения, и эти 2 решения прекрасно работают на GIT bash и помогают мне выполнять выражения Python на GIT bash.

Я прилагаю 3 изображения моего терминала GIT bash. 1-й с проблемой, а 2-й в качестве решения.

ПРОБЛЕМА - Курсор просто ждет после нажатия команды python

enter image description here

РЕШЕНИЕ 1

Выполните winpty <path-to-python-installation-dir>/python.exe на терминале GIT bash.

Примечание: не используйте C:\Users\Admin как стиль пути в GIT bash, вместо этого используйте /C/Users/Admin.

В моем случае я выполнил winpty/C/Users/SJV/Anaconda2/python.exe на GIT bash

Или, если вы не знаете своего имени пользователя, выполните winpty/C/Users/$USERNAME/Anaconda2/python.exe

enter image description here

РЕШЕНИЕ 2

Просто введите python -i и все.

enter image description here

Благодарю.

Ответ 5

В дополнение к ответу @Charles-Duffy, вы можете использовать winpty напрямую, не устанавливая/не загружая ничего лишнего. Просто запустите winpty c:/Python27/python.exe. Утилиту winpty.exe можно найти в Git\usr\bin. Я использую Git для Windows v2.7.1

Предварительно созданные бинарные файлы от @Charles-Duffy - это версия 0.1.1 (в соответствии с именем файла), а включенный - 0.2.2

Ответ 6

В дополнение к @Vitaliy Terziev ответ

попробуйте touch.bash_profile и затем добавьте псевдоним в файл.

Ответ 7

Вы можете изменить цель для ярлыка Git Bash из:

"C:\Program Files\Git\git-bash.exe" --cd-to-home 

в

"C:\Program Files\Git\git-cmd.exe" --no-cd --command=usr/bin/bash.exe -l -i

Именно так ConEmu использовал для запуска git bash (версия 16). Последняя версия запускает это нормально, и это, как я туда попал...

Ответ 8

наберите "winpty python" и он будет работать

У gitbash есть некоторые проблемы при запуске любой команды, которая начинается с python. это также относится к любым командам python manage.py. Всегда начинайте с 'winpty python manage.py'. По крайней мере, это то, что мне подходит. Под управлением Windows 10.

Ответ 9

Я использую MINGW64 через Visual Studio Code на Windows 10 и пытаюсь установить node-sass (для этого требуется python2). Я следовал за felixrieseberg/windows-build-tools # 56 на Github, который решил мою проблему.

Это особый случай, но я пишу на тот случай, если у кого-то возникнет такая же проблема:

npm --add-python-to-path='true' --debug install --global windows-build-tools

Это устанавливает Python и другие необходимые инструменты сборки в %USERPROFILE%\.windows-build-tools\python27.

Ответ 10

Другим примером этой проблемы является использование интерфейса командной строки AWS Elastic Beanstalk (awsebcli, eb cli) из git bash (MINGW64, Mintty) в Windows (с использованием git версии 2.19.0.windows.1).

Я просто публикую это, потому что мне потребовалось некоторое время, чтобы оказаться здесь и заняться поиском специфических для eb-cli проблем.

Такие команды, как eb init или eb config save, которые требуют ввода пользователя, по-видимому, вызывают зависание/зависание. На самом деле, я думаю, консоль не обновляется текстом, запрашивающим ввод пользователя. Более того, eb deploy обновляет текст консоли только после завершения команды, поэтому я не вижу обновления прогресса до ее завершения.

Как упомянуто в заметках о выпуске git для windows (для v2.19.0) и, например, в ответе Xun Yang, обходной путь должен выполняться

winpty eb <command> (вместо просто eb <command>)

Альтернативой, как предложено в этой проблеме git для Windows, может быть использование родной консоли Windows вместо mintty (опция во время установки git).

Ответ 11

Для python версии 3.7.3 в vscode с gitbash в качестве терминала по умолчанию я некоторое время занимался этим, а затем следовал совету @Vitaliy Terziev по добавлению псевдонима в .bashrc, но со следующей спецификацией:

alias python = "/c/Users/мое имя пользователя /AppData/Local/Программы/Python/Python37/python.exe"

Обратите внимание на комбинацию одинарных и двойных кавычек из-за пробелов "мое имя пользователя".

Для меня "winpty" не может разрешить путь Python в vscode.

Ответ 12

Git Bash Workaround- Запустите Python 2 и Python 3 с псевдонимами

Привет Это (для меня) лучшее решение для запуска обоих Python (Python 2.7 и Python 3.x) непосредственно из Git Bash на Win 10 => добавление псевдонимов в файл псевдонимов, для которых Git Bash использует.

Файл псевдонимов Git Bash - aliases.sh. Это находится в:

C:\path where you installed Git\etc\profile.d\aliases.sh

1) Откройте (с помощью текстового редактора, такого как Atom или другой) файл aliases.sh

например: в моем случае файл находится в C:\Software\Develop\Git\etc\profile.d\aliases.sh

2) Добавьте свой псевдоним для Python

В моем случае python.exe установлены в:

C:\Networking\Network Automation\Python 2.7\python.exe
C:\Networking\Network Automation\Python 3.7\python.exe

Таким образом, вы должны создать 2 псевдонима, один для Python 2 (я назвал python2), а другой для Python 3 (я назвал просто python). Git Bash использует файловую структуру linux, поэтому вам нужно изменить "\" для "/", и если вы есть путь, как в моем примере Network Automation вы положили его с ""

"Автоматизация сети", например

winpty - это волшебная команда, которая вызывает исполняемый файл.

Так что добавьте эти строки в начале aliases.sh

alias python2='winpty C/Networking/"Network Automation"/"Python 2.7"/python.exe'
alias python='winpty C/Networking/"Network Automation"/"Python 3.7"/python.exe'

3) Добавить или изменить другие псевдонимы (если вы хотите)

Я изменил также псевдоним ll, чтобы показать все файлы и в удобочитаемом списке:

alias ll='ls -lah'

4) Сохраните файл aliases.sh


5) ОК !!! закройте и перезапустите ваш Git Bash

Теперь вы можете постоянно запускать оба Python непосредственно из оболочки Git, просто записывая

$ python → запустить Python 3

$ python2 → запустить Python 2

$ ll → вводит ls -lah, чтобы быстро показать ваш подробный список файлов

Ура, Гарри

Ответ 13

Попробуйте python -i вместо python, это вещь курсора.

Ответ 15

Чтобы запустить script в текущей оболочке, используйте либо . Scripts/activate, либо source Scripts/activate