If you can lay your hands on a Windows box:
Visual Studio (the free Express edition would suffice) + PTVS: http://pytools.codeplex.com/
(It supports cross-platform remote debugging)
Jython runs on the JVM, Iron Python runs on the .Net CLR.
Jython exposes the JDK via JVM, Iron Python exposes the .Net framework via CLR.
CPython is probably faster for single-threaded applications but Jython and Iron Python will scale better on multicore because CPython only allows one Python thread to run at a time.
I just want to point out here that after numerous you tube indulges that there seems to be a fundamental problem with python and multi-threading. The mutex lock algorithm does not give you a performance increase when you wish to compute complex algorithms, but instead is mostly there for managing multiple resources (say a NIC). Also I'd suggest checking out Ipython and/or setting up an Ipython server if you're using it for any kind of explanation with python and i find it fun to try stuff out on my phone using the server at my house when inspiration hits.
On the topic of Iron Python, has anyone here successfully used it to make a WinRT app? I'm considering making a metro wrapper for google play music (a work around for not being able to have metro mode chrome open on two monitors) and I felt like using python to do it.
@Cheraphy
I haven't really used Iron Python much but I believe it exposes the full .Net framework so it seems logical that it would be possible to use WinRT.