I've been meaning to learn Python for a long time now. I have no experience in programming (except for a few lessons of LPTHW). But in a month, I'm going to have a lot of free time on my hand and I've decided it's time to get off my bum and finally learn it.
But my question is, should I learn Python 3 and be future-proof or learn Python 2.7 and figure out the differences later on?
I'm on Debian Sid (Crunchbang to be specific) right now, but it isn't much of a problem to install Python 3.
I've got active projects in both code bases right now - although I prefer Python 2.7 because it has taken a while for the libraries and frameworks to move over to 3.0.
However, once you understand the core concepts behind Python, about 90% of the differences between the two become obvious and trivial to work around for most projects.
You should get some exposure to 3.x since Guido has indicated any significant new language features will be implemented in that branch and not back-ported to 2.7. They have also done a number of optimizations in the 3.x branch which may be of interest for certain projects.