Python 2.x and 3.x use survey, 2014 edition

Giampaolo Rodola' g.rodola at gmail.com
Sat Dec 13 09:07:13 EST 2014


On Thu, Dec 11, 2014 at 10:32 PM, Ben Finney <ben+python at benfinney.id.au>
wrote:
>
> "Giampaolo Rodola'" <g.rodola at gmail.com> writes:
>
> > I still think the only *real* obstacle remains the lack of important
> > packages such as twisted, gevent and pika which haven't been ported
> > yet.
>
> What disqualifies other obstacles from being “*real* obstacles”? How do
> you determine that?
>
> > With those ones ported switching to Python 3 *right now* is not only
> > possible and relatively easy, but also convenient.
>
> If my program relies on an obscure library ‘foo’, and that library is
> not ported to Python 3, switching to Python 3 is not feasible, and
> certainly not convenient — regardless of the status of “important
> packages such as twisted, gevent, and pika”.
>
> So your assertion here is plainly false.
>
> What is it you're actually wanting to say?


What I'm saying is that for a very long time a considerable number of
libraries haven't been ported to python 3 and that lasted for years, say
until Python 3.3, or until Django started supporting Python 3, which
happened less than a year ago. Names such as Twisted, gevent, eventlet,
python-daemon and paramiko means that literally hundreds of thousands of
users cannot even think about migrating *right now*: they're just stuck. My
perception is that for way too long Python 3 was kind of ignored by some of
the most important library vendors and it (partially) still is, and that's
what is affecting Python 3 adoption the most. Try to take a look at how
many missing dependencies a project such as OpenStack still has:
http://stackoverflow.com/questions/20075574/finding-which-packages-support-python-3-x-vs-2-7-x/22113627#22113627.
OpenStack is probably a bad example 'cause it's *huge*, but when the
missing deps have hundreds of thousands of user (see
https://python3wos.appspot.com/) it is very easy to hit one of those and
remain stuck even if your project is a lot smaller. I personally tried to
migrate 2 medium-sized (> 10.000 LOC) projects at work for 2 different
companies and what I ended up doing was modernizing the code so that both
2.7 and 3.3+ interpreters could execute it and tests didn't raise any
"python-related error" (SyntaxError, TypeError, UnicodeError or whatever),
but I punctually hit the wall of 1, 2 or 3 missing dependencies. So
basically both of these 2 projects are "python 3 ready" but since the
library ecosystem is not I just "wait" (it's been a year now).

-- 
Giampaolo - http://grodola.blogspot.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20141213/722e1aaf/attachment.html>


More information about the Python-list mailing list