Thank you!

You are right, the problem was caused by this cygwin bash shell. When I disabled it, python can be run correctly.

Da
(w32-shell-name) RET returns

"C:/cygwin64/bin/bash.exe"
On 4/4/2015 2:44 PM, Eli Zaretskii wrote:
Date: Sat, 04 Apr 2015 21:38:21 +0300
From: Eli Zaretskii <eliz@gnu.org>
Cc: 20237@debbugs.gnu.org

I think you need to use this instead:

  (setq python-shell-interpreter "/cygdrive/C/Python27/Scripts/ipython")

Or something like that -- I don't use Cygwin, so I might be mistaken
about the exact format you need to use.
Actually, if you use this format, you'd probably also need to use
cygwin-mount as well.

So the second alternative, to remove the setup for Cygwin Bash, is IMO
better.  Mixing a native Windows Emacs with Cygwin is a tricky
business.

Yet another possibility is to use a Cygwin build of Emacs.