Wow, that sounds like a real pain! Unfortunately, this situation is common with some languages - different tools, updated at different times, with different requirements... it becomes a confusing web of anti-productivity, doesn't it?
Anyway, it's hard to give you a hard-and-fast "right" answer. It may be that you have to learn to do what you want without the dependencies that aren't adequately updated. This means you will have to do without some of the nice bits that make life easier, but in the end, it's not making your life easier at the moment, is it?
I would personally recommend changing languages altogether. While Python is a powerful scripting language, it does have the problem of not always being backwards-compatible, and it's yet another dependency clogging up your system.
If you want a nice GUI library and IDE, I would suggest C#. It's not the most platform-independent, but it is really, really easy to write GUI-reliant programs, and as long as your user has .NET framework version whatever-you-target, it will work.
C++ is another choice. It is more standard, and there are some cross-platform GUI libraries that can help you out. C++ probably has the widest selection of those, and there are also a plethora of IDE's for C++ for all platforms. It's not the most friendly language - GUI or not - but it can do pretty much everything.
If, on the other hand, you want to stick with Python... I would suggest you try and use as few dependencies as possible. Libraries are nice, but if you manage to weave yourself into a net of dependency-entanglement, it kind of defeats the purpose of code reuse - especially if you can't use it in the first place.
