10 comments

[ 2.7 ms ] story [ 34.5 ms ] thread
For those looking for more details about what has changed, the changelog is here:

https://hg.python.org/cpython/raw-file/v2.7.10/Misc/NEWS

(Unfortunately, there doesn't appear to be a short summary of the most important changes/bugfixes, like there have been for some of the earlier releases.)

This late in Python 2.7's life the changes being made are mostly fixes for esoteric bugs. One exception is the SSL module, which gets special treatment due to its importance for security. It has gained a new feature in this release (ALPN, necessary for supporting HTTP/2), and RC4 has been removed from the default cipher list.
Is anyone still using Python 2 for new projects?

I'm curious to hear reasons for this, given that Python 3 provides so much good stuff, and pretty much all the important libraries and environments now support Python 3.

I am (and I believe most scientific users are too). I know that personally I have no incentive to switch; Python 2.7 has all the features I need.

That will change with Python 3.5 and the matrix multiplication operator @.

Is there any other reason for me to consider Python 3?

Well, I'd say switch just because all mainline development is now happening on the Python 3. I'm not too familiar with the development roadmap and which "features" might be useful for different audiences (e.g. the unicode overhaul and the asyncio stuff that landed in 3.4 are probably the biggest wins for the stuff I do) but I think just that reason alone is enough.

But I do think the biggest leap in adoption will be once Python 3 will be the default on most OSs, and we're definitely getting there. After we pass that, Python 2 will be the outlier, and Python 3 the norm.

Well, the 2.x code that you write will eventually be ported to 3.x? Maybe just skip 2.x and save yourself that work?
m2crypto is a pretty big item on the list of those that still don't support python3.

I've got a few relatively new projects that had to be done on python2 due to this.

My personal libraries are full of metaclasses and decorators that don't translate over very easily and I rely on Py2's import system very heavily. When I start something new I use Go or Py3 if I can but it is still faster for me to use Py2 most of the time. Over the next year I plan on fixing this as I am really excited about asyncio (right now I am using a py2 port of it https://pypi.python.org/pypi/trollius).
> Is anyone still using Python 2 for new projects?

Yes, as long as the packages provided by the OS vendors (i.e. Ubuntu LTS, CentOS) are 2.7 by default. Sure, I could just compile my own packages (and I do where necessary), but then that becomes yet another piece of infrastructure to maintain.

(comment deleted)