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
...坐在那里,不回到提示。
临时解决方案
只需在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文件。
临时解决方案
只需在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文件。
这是MSys2中的一个已知错误,MSys2提供了Git Bash使用的终端。你可以在没有ncurses支持的情况下运行Python构建,或者使用WinPTY来解决这个问题,使用方法如下:
要在mintty或Cygwin sshd中运行Windows控制台程序,将console.exe前置到命令行:
c:/Python27/python.exe
win32上的Python 2.7.2(默认,2011年6月12日,15:08:59)[MSC v.1500 32位(Intel)]
输入“帮助”,“版权”,“版权”或“许可”以获取更多信息。
>>> 10 + 20
30.
> > >退出()
预构建的msys二进制文件很可能与Git Bash一起工作。(如果这个答案已经发布了很长一段时间,请检查是否有更新的版本!)
对于Git for Windows 2.7.1,也可以尝试使用winpty c:Python27/python.exe;WinPTY可能包括开箱即用。