Git 2.5.1的bash控制台无法打开python解释器

Man*_*anu 30 python git bash

如果我在CMD中这样做,它可以正常工作,但如果我在Git Bash中尝试它,它不起作用.我喜欢使用Git Bash作为我唯一的控制台,但如果它不适用于Python 3.4,我就不能这样做.

示例如下图所示.这可以很容易地再现.卸载Python和Git(如果已安装),安装Python 3.4,安装Git 2.5.1并获得该结果.

安慰

如何让Python解释器在Git Bash中运行?

Cas*_*all 43

MinTTY终端是Git的新默认终端,它不支持Windows控制台程序.我不知道为什么决定更改默认终端,但我知道有几种方法可以解决这个问题:

  1. 写一个Bash别名来用winpty启动python

Bash别名(放在你的.bashrc中):

alias python=winpty py.exe
Run Code Online (Sandbox Code Playgroud)

注意:从Git for Windows 2.7.1开始,Winpty开箱即用.可以找到winpty安装在Git\usr\bin.


  1. 如果没有参数,写一个Bash别名以交互模式启动python:

Bash别名(放在你的.bashrc中):

function maybe_py() {
    if [ $# -eq 0 ]; then
        /c/Windows/py.exe -i
    else
       /c/Windows/py.exe $@
    fi
}

alias python=maybe_py
Run Code Online (Sandbox Code Playgroud)
  1. 以交互模式显式启动python

请注意,使用箭头键浏览命令历史记录可能无法正常工作:

py -i
Run Code Online (Sandbox Code Playgroud)

或者对于脚本:

py script.py
Run Code Online (Sandbox Code Playgroud)

  • 对自己说:如果你试图使用箭头键来检索命令历史记录,那么带有新git bash控制台的`python -i`并不总能正常工作.它似乎将光标向上移动到输出中,就像它是文本编辑器一样. (3认同)
  • @Sushil我刚研究并看到了更新[这里](http://stackoverflow.com/questions/32597209/python-not-working-in-the-command-line-of-git-bash).看起来MinTTY终端不支持开箱即用的Windows控制台程序,但如果你安装Git For Windows 2.7.1或更高版本,你可以使用Winpty开箱即用来运行python.我已适当更新了答案. (2认同)

bes*_*sil 11

你需要显式的python交互模式:python -i

您可以在.bashrc中定义别名:alias python ='python -i',但是这样做,您将无法运行脚本文件(即:python script.py).

在这里找到: 使用Cygwin的Windows Python

  • 如果您尝试使用箭头键来检索命令历史记录,那么使用新git bash控制台的`python -i`并不总能正常工作.它似乎将光标向上移动到输出中,就像它是文本编辑器一样. (3认同)

Dr *_*tan 5

建立在@Darthfett的答案上。我必须确保有引号,而不要引用.exe文件

所以最后 .bashrc

alias python='winpty python' alias pip='winpty pip' # Rescue pip as well

那是所有的作品

蟒蛇

Tawanda@Tawanda-PC MINGW64 ~
$ alias python='winpty python'

Tawanda@Tawanda-PC MINGW64 ~
$ python
Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
Run Code Online (Sandbox Code Playgroud)

点子

Tawanda@Tawanda-PC MINGW64 ~
$ alias pip='winpty pip'

Tawanda@Tawanda-PC MINGW64 ~
$ pip -v

Usage:
  pip <command> [options]

Commands:
  install                     Install packages.
  download                    Download packages.
  uninstall                   Uninstall packages.
  freeze                      Output installed packages in requirements format.
  list                        List installed packages.
  show                        Show information about installed packages.
Run Code Online (Sandbox Code Playgroud)


edi*_*999 0

您可以通过编辑“$HOME/.bashrc”中的文件来配置 git bash 控制台

将此行添加到您的$HOME/.bashrc

export PATH=$PATH;c:/python34
Run Code Online (Sandbox Code Playgroud)