Edit: I probably shouldn't be surprised to learn that second hand information I picked up six years ago at PyCon is out of date...
Edit: I probably shouldn't be surprised to learn that second hand information I picked up six years ago at PyCon is out of date...
Whereas with Ruby, I can't seem to get much working without it.
Hard to say the same with installing Python 3 on MacOSX and getting virtualenv running, which in my experience hasn't been so easy.
How would you work on a project that uses 3.2, then another that uses the latest features from 3.5, without pyenv?
With virtualenv each project of mine has a requirements file (I use it even for Google App Engine development, having a distinct SDK per project) and runs Python from a different environment where the packages I install with pip do not interfere with any other environment. Without it an "apt-get upgrade" can end up breaking everything (to say nothing about not having the latest version packaged).
At that point it should work invisibly in the virtualenv.
Unlike ruby, point releases don't often make sweeping breaking changes so it is often enough to say 'this is python 3 code' or 'this is python 2 > 2.5' code, so the granularity of something like pyenv is mostly unnecessary, imo.
You can't say this is Python 3 code or Python 2 code. That's completely false. If someone used latest features from Python 3.5 that wouldn't work on 3.4.
Also, I haven't had any issues upgrading point releases in Ruby(since 2.0). Point releases do not make sweeping changes by any means. You maybe talking about the weird 1.8 to 1.9.3 thing.