
Problems With the Python 3 Ecosystem - jpulec
http://jamespulec.com/blog/2014/12/23/why-python-3-isnt-being-used-more/
======
dustinfarris
I've been using Python 3 for all new projects for over a year. It was painful
in the beginning, but my recent experience has been very rewarding. The few
libraries that I use that have not been ported have, in almost all
circumstances, been replaced by better libraries—I presume that this explains
the lack of motivation to port the old ones.

That said, there are respected programmers who have good criticisms of Python
3[1] that are more level-headed than this sensationalized article; however,
that has not stopped the community at large from moving to Python 3 where
possible.

Also, as myself and others continue picking up LXC technology (Docker) the
issue of host/ops dependencies interfering with project dependencies will
gradually vanish—which is the only legitimate point made by the posted
article. The title should have been: "My first day with Python 3"

[1]: [http://lucumr.pocoo.org/2014/5/12/everything-about-
unicode/](http://lucumr.pocoo.org/2014/5/12/everything-about-unicode/)

------
jzwinck
A few months ago I attended PyCon SG (Singapore). At some point one of the
presenters[1] asked for a show of hands how many people were using Python 2,
and how many Python 3. The ratio was about 10 to 1 in favor of Python 2, with
hundreds of respondents.

Python 3 just doesn't have traction, and it may never get there. It's sort of
a shame how Python 2 is now in maintenance-only mode, but on the other hand
it's great for professionals: we don't need to worry about the language or the
reference implementation changing ever again.

[1] Kenneth Reitz, as part of his excellent talk "Python 2.7 & Python 3: A
Sacred Love Story."

~~~
gamesbrainiac
Here's the talk
[https://www.youtube.com/watch?v=skYBOXE02OQ](https://www.youtube.com/watch?v=skYBOXE02OQ)

------
xj9
You could solve that problem by not using Ubuntu: SmartOS, Debian, and OS X
all have perfectly functional Python 3 packages. (as I'm sure many
distributions and operating systems do)

This has very little to do with Python 3.

~~~
jpulec
Ubuntu is one the most deployed server distributions of linux, and one of the
most battle tested. While this post isn't meant to criticize python 3 (I think
the language is perfectly fine as is), it's meant to criticize the ecosystem,
where one of the most deployed distributions doesn't work.

~~~
xj9
Yes, but Debian is also very widely deployed and doesn't ship with a broken
Python 3 package. I'm just pointing out that your issue is specifically
related to Ubuntu. You'd be better off calling your article: Ubuntu is Not A
Suitable Platform for Python 3 Development, or something along those lines.

~~~
jpulec
Actually, this exact issue was also an issue in Debian. The bug reports can be
found further down in an answer to the same stackoverflow question. It may now
be fixed, I'm not sure.

~~~
chomp
The issue linked was against jessie/sid. Debian users expect broken things
outside of stable.

The Ubuntu release in question was the LTS Ubuntu.

------
nnd
To summarize the article:

Author stumbles upon problems with ubuntu and some other third-party software
=> concludes that Python 3 is not being used anymore.

Well done, sir.

------
peteretep
Python strikes me (as a Perl, Haskell developer) as the boring scripting
language, which I consider to be a feature. Golang, not Python 3 is the
obvious successor for people who want One Way To Do Everything.

Ruby was the obvious successor to Perl, rather than Perl 6, but I wonder if
Rust ends up being Perl's natural successor. It's fast, there are awesome
functional features, and Perl developers tend to be pretty comfortable with
the general concept of references... Not going to appeal to the "hack it to
get it done quickly" crowd, but as a replacement for bigger Perl 5 projects...

~~~
moonshinefe
Personal opinions of what languages are "boring" aside: "Golang, not Python 3
is the obvious successor for people who want One Way To Do Everything."

Uhh, what? I'm not even sure why you're comparing Golang to Python. One is a
compiled language that specializes in concurrency and the other is a
interpreted scripting language. They're for completely different purposes.
Python3 was never intended to be a "one way to do everything language".

~~~
Hemospectrum
That isn't the first time such a comparison has been made, and the people
making it are always remarking more on the culture surrounding the language
than its implementation details (not that the latter are irrelevant, but
Python certainly could be a Compiled Language™ if Guido so chose). The
takeaway here is that both Go and Python codebases lend themselves to team
efforts between early contributors and new arrivals, because the set of idioms
you'll find is very consistent from one codebase to the next. This promotes a
certain confidence in teams working on very large projects, as well as tools
that must be maintained for a long period of time. It's a hard thing to
measure. You certainly won't identify it just by asking what features the
language has.

------
hfaran
I don't understand how a single anecdote about a packaging issue on a single
distro is being used to draw the conclusion that "Python 3 Isn't Being Used
More".

~~~
afarrell
It isn't being used to draw that conclusion. The article starts with that
premise and uses an anecdote to illustrate one reason why. In marketing and
customer service, the plural of anecdote may not be data but it is is a broad
trend.

------
jpulec
EDIT: Title changed from "Why Python 3 Isn't Being Used More" to "Problems
With the Python 3 Ecosystem"

------
symlinkk
Sorry but this misses the point. The biggest reason Python 3 isn't being used
is because most libraries haven't been updated to support it.

~~~
laurencerowe
I feel like the balance has tipped in the past six months. I started my
current project two years ago and stuck with Python 2 because I was concerned
about library compatibility.

The Python 2 standard library is now showing its age. Limitations with the
multiprocessing module on Python 2 drove me to look into the possibility of
switching to Python 3 and I was pleasantly surprised to discover all ~45
packages my project depended on had been ported (through caniusepython3.com.)

Porting to 2/3 compatible code with python-future.org turned out to be fairly
painless so I expect to make the change soon.

The transition has been a painful one, but I'm sure that these sort of
problems will feel a thing of the past in a year or two.

------
msie
Yeah, I had these problems too. I had a problem where I was following the
instructions for some Django tutorial and by accident I was always invoking
the python 2 interpreter when I should have been running the python 3
interpreter. Death by a thousand cuts.

------
healthenclave
Hey James,

Good to see your post on the front page, and it was a nice writeup. Personally
for me the issue with Python 3 has been the lack of support by many good 3rd
party Django apps. Until that happens I can't see myself moving anytime soon.

------
RubyPinch
Note: edited, other people made the other points I made

Digressive: "Always wanting to be cutting-edge, I decided I would would start
with ubuntu 14.04", shouldn't that be 15.04 then? (latest I could see in the
mirrors at least)

~~~
sylvinus
The daily builds of the 15.04 alpha may be on the mirrors but what he meant
was cutting-edge stable. Had he used an unstable daily build, his arguments
would have been much less relevant.

~~~
RubyPinch
I agree that going for the actual cutting edge would be a bit silly, but
mentioning "cutting edge" and then using just the latest LTS (noting that
14.10 also exists), seems a bit silly to me.

------
_wmd
This is a complaint about the Ubuntu 14.04 python3 package, not Python itself

~~~
great_kraken
True, it's an incredibly personal and situational post with him using the word
"me" throughout. The title choice is just really poor it seems.

Although I'm someone who doesn't develop in python, I have toyed around with
the packages and versions for dependencies for other projects and tools I use.
At first I assumed that "latest is greatest" but recently came to understand
that it's not the case as far as practicality is concerned. Perhaps it is
involved with the rather irritating versioning (python3, pip3, etc. - I've
found the same thing to be true on archlinux), but I think a lot of it is
definitely as somebody else said above, the lack of updated libraries.

------
anhtran
If you are Asian, you will feel better in python 3.

------
lowglow
The moderation on titles is killing me.

~~~
dang
There was no moderation on this title, nor on the post in any way.

~~~
lowglow
Interesting. The title originally read: "Why Python 3 Isn’t Being Used More"

If this wasn't moderated, then my apologies.

