Python将无法在git bash (Windows)中运行。当我在命令行中输入python时,它会把我带到一个空行,而不会像在Powershell中那样说它已经输入了python 2.7.10。它没有给我一个错误消息,但python就是不运行。

我已经确保PATH中的环境变量包括c:\python27。我还能检查什么?


发生此问题的会话如下所示:

user@hostname MINGW64 ~
$ type python
python is /c/Python27/python

user@hostname MINGW64 ~
$ python

...坐在那里,不回到提示。


当前回答

在我的Git Bash中,以下命令挂起,我没有得到提示:

% python

所以我只用:

% winpty python

如上所述,你还可以使用:

% python -i

2020-07-14: Git 2.27.0增加了对伪控制台的可选实验性支持,允许从命令行运行Python:

见所附会议。

其他回答

我在答案列表中看不到下一个选项,但我可以使用“-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.
>>> 

临时解决方案

只需在windows上的git shell中输入这个- > alias python='winpty python.exe',这就是所有的内容,你将有python可执行文件的别名。这个别名在shell会话期间有效。

winpty是一个Windows软件包,提供类似Unix pty-master的接口,用于与Windows控制台程序通信。

永久的解决方案

将该命令添加到用户主目录下的.bashrc。可以使用CLI或文本编辑器:

使用CLI

这可以从git bash中完成,如下所示:

echo "alias python='winpty python.exe'" >> ~/.bashrc

如果文件不存在,它将在当前用户的主目录中创建.bashrc,如果存在,则将别名附加到.bashrc的末尾。

使用文本编辑器

或者,你可以先创建一个.bashrc。取决于你的文件管理器,这可能更容易在git bash中完成,如下所示:

cd ~
touch .bashrc

此时,您可以在首选的文本编辑器中打开.bashrc并将其添加到其中。

要应用更改,可以使用命令源.bashrc或重新启动shell。

更新

新版本的Git不再使用.bashrc,而是使用.bash_profile。Conda在初始化时也使用这个配置文件,因此请确保不要覆盖或删除初始化块。在这里查看更多:Git for Windows不执行我的.bashrc文件。

看看这个答案:

Git Bash不会运行我的python文件?

Git Bash中的路径应该这样设置:

PATH=$PATH:/c/Python27/

如果你运行Windows PowerShell命令并发生错误,错误记录将被追加到名为$error的“自动变量”中。

您可以在同一个PowerShell会话中使用$error变量来查找错误。

$Error变量包含一个信息集合,这就是为什么使用$Error[0]可以获得错误消息对象的原因。此外,$Error[0]变量将保存遇到的最后一个错误消息,直到PowerShell会话结束。

输入命令PY而不是Python。调用解释器 (python.org)。