I use Spyder in my adult beginner Python classes. I like the integrated REPL (not just a window to Terminal) and the I-Python console.
Looking at some old emails, about 3 years ago I had concluded that Spyder would have been my first choice too, because of what you mentioned. I also liked the integrated help. However, I would not describe it as an editor (or IDE) whose primary purpose was for teaching, but rather designed with data scientists in mind. I think it might be a good choice for CS 101 students (to use the terminology I used previously) or for a motivated teacher who can be physically present to help students with it.
Also, I'm a fan of the Anaconda distro of Python which makes it easy to jump into Jupyter Notebooks, an introductory topic in my courses.
I also like Jupyter Notebooks, but I see them more as a tool for producing teaching (or research) material, than for a platform for students to learn Python. I consider the ability to save a program as a .py file something essential in an editor for students.
The last time I wanted to do a major update to my Anaconda distro on Windows, I was shocked to learn that the recommended way was not going to work (I believe it was due to the way that Anaconda was stuffing too much stuff on the PATH environment variable which made it not possible to do an upgrade to include a newer Python version). I may have got the details wrong, but I do remember being severely disappointed by the way it worked - as I had gotten really fond of its super-battery included philosophy which made it so much easier to install some packages on Windows...
= = =
Looking back at my old notes, I see that Ninja IDE (
http://ninja-ide.org/) was also recommended by some people.
I have much to think about ...
André