Git for Windowsが2系に上がってから、付属のGit Bashでpython
などの対話モードで扱うコマンドがうまく動かなくなりました。
これはGit Bashに使われているMinTTYの既知の不具合(というか仕様?)らしく、対話モードを伴うコマンドはwinpty
を使えということのようです。つまり、Git Bash上で以下のようにpython
を起動すれば正常に動作します。
winpty python
いちいちwinpty
つけないといけないのか、めんどくさい、という方は<Git installed folder>\etc\profile.d\aliases.sh
を修正することでも対応できます。for name in ...
の所に、winpty経由にしたいコマンドを追加すればOKです。
for name in node ipython php php5 psql python2.7 python
do
alias $name="winpty $name.exe"
done
そもそもなぜこうしないのか?については何か理由があるよう・・・ですが、読んでもいまいちわかりませんでした(MSys2のPythonかどうか見分けないといけないから、でも見分ける方法はある、みたいな感じになっていて謎)。心配な場合はipython
の方が2.6.3からは正式に入っているので、対話モードにしたい場合はipythonの方を使うという手もあります(こちらの方が機能的にリッチでもあるので)。
参考