2017-01-06 10 views
1

У меня есть python 3.6, установленный на моей системе Win7, и я пытаюсь заставить его работать в git bash (MINGW64), до сих пор безрезультатно.Не удается запустить python в терминале git?

Я добавил каталог установки (НЕ, файл EXE, конечно) в PATH, без каких-либо результатов.

Даже если я прямо cd в каталог установки, он не видит его.

$ python 
bash: python: command not found 
$ echo $PATH 
/c/Users/Aerovistae/bin:/mingw64/bin:/usr/local/bin:/usr/bin:/bin:/mingw64/bin:/usr/bin:/c/Users/Aerovistae/bin:/c/Windows/system32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0:/c/Program Files/Intel/WiFi/bin:/c/Program Files/Common Files/Intel/WirelessCommon:/cmd:/c/Program Files (x86)/Skype/Phone:/c/Program Files/Intel/WiFi/bin:/c/Program Files/Common Files/Intel/WirelessCommon: C:/Users/Aerovistae/AppData/Local/Programs/Python/Python36-32:/usr/bin/vendor_perl:/usr/bin/core_perl 
$ cd C:/Users/Aerovistae/AppData/Local/Programs/Python/Python36-32 
$ python 
bash: python: command not found 
$ python.exe 
bash: python.exe: command not found 

Если я пытаюсь ./python внутри этого каталога, он просто переходит к следующей строке, когда я нажимаю войти, и позволяет мне держать печатать, потому что это более ожидая команды по какой-то причине. ./python не распознается как полная команда, и он ждет закрытия, как если бы у меня была открытая цитата, но без цитаты. Не могу понять, почему.

Что мне здесь не хватает? Почему он не может запустить .exe, даже если я в каталоге?

Sidenote, почему он показывает PATH как разделители двоеточия, а не разделители с двоеточием?

+0

Как вы добавить Python каталог установки в PATH? –

+0

Возможный дубликат [Python не работает в командной строке git bash] (https://stackoverflow.com/questions/32597209/python-not-working-in-the-command-line-of-git-bash) –

ответ

4

Почему он показывает, что PATH имеет разделители двоеточия, а не разделители с двоеточием?

Поскольку bash использует : в качестве разделителя путей. Это означает, что C:/yadda/yadda в переменной среды PATH анализируется как два каталогов: и /yadda/yadda. Если вы внимательно посмотрите на свой вывод echo $PATH, вы увидите, что многие записи начинаются с /c/. Запись для вашей установки python является единственной, которая использует C:/. Вы должны использовать нотацию /c/ при установке PATH в .bashrc или .profile.

Также обратите внимание на пробелы в именах путей и посторонних пространствах до и после :. Первое, безусловно, проблематично. Я не уверен в последнем, так как я никогда не добавляю места в этом месте при настройке PATH.

Если я попытаюсь ./python изнутри этого каталога, он просто переходит к следующей строке, когда я нажимаю enter, и позволяет мне печатать, потому что по какой-то причине он ожидает больше команды.

За комментарием от @eryksun:

Вы либо должны работать bash.exe в нормальной консоли Windows, или, если используется mintty терминал, заставить Python использовать интерактивный режим с помощью python -i. mintty скрывает настоящую консоль и устанавливает StandardInput трубе под названием \\.\pipe\msys-[UNIQUE_ID]-pty0-from-master и StandardOutput в трубу по имени \\.\pipe\msys-[UNIQUE_ID]-pty0-to-master. Труба не является символьным устройством в Windows, поэтому isatty возвращает false, поэтому Python запускается в неинтерактивном режиме, если только принудительно не используется через опцию -i.

+0

Забыл упомянуть, что, к сожалению, я тоже это сделал ... для записи я легко знаком с командной строкой linux. Он просто зависает, переходит к следующей строке с мигающим курсором, когда я нажимаю enter, как будто он ожидает большего ввода, и './Python' не распознается как действительная автономная команда. Имейте в виду ctrl + c. – Aerovistae

+0

@Aerovistae, пожалуйста, отредактируйте свой вопрос, чтобы показать это –

+0

Я сделал это, спасибо. – Aerovistae

0

попробуйте использовать эту команду на своем мерзавца Баш: alias python='winpty python.exe Если вы можете использовать Python нормально, и вы можете выход и вход без проблем вы можете добавить эту команду в файл конфигурации .bashrc (как правило, в той же директории вашего .git и .mintty файлы конфигурации (под вашим именем пользователя в Windows).

Я не знаю, что winpty на самом деле делает, но я думаю, это то, что это описано здесь: https://github.com/rprichard/winpty

 Смежные вопросы

  • Нет связанных вопросов^_^