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
... сидит там, не возвращаясь к приглашению.
Ответы
Ответ 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
, это вещь курсора.
Ответ 14
Посмотрите на этот ответ:
Git Bash не будет запускать мои файлы python?
путь в Git Bash должен быть установлен следующим образом:
PATH=$PATH:/c/Python27/
Ответ 15
Чтобы запустить script в текущей оболочке, используйте либо . Scripts/activate
, либо source Scripts/activate