Live data from Hacker News

Most popular Python packages now support Python 3

py3readiness.org

151–160 of 166 posts

Re: Most popular Python packages now support Python 3

#151
post #62
post #16

Earlier quoted context omitted.

A brief look around the supervisor site indicates that they have public version control and issue tracking on their github page[0] and that they have a merged PR[1] to add python 3 testing (which appears to be passing). [0] https://github.com/Supervisor/supervisor [1] https://github.com/Supervisor/supervisor/pull/901

Thank you. I wonder why they don't list this in their setup.py

They do. I wonder why it's not green.

https://github.com/Supervisor/supervisor/blob/master/setup.p...

Re: Most popular Python packages now support Python 3

#152

Earlier quoted context omitted.

For me, completely outside the Python community, I really can't fathom how migrating to the next major version of the language can protract for so long... And I have been in some painful migrations in my life... Java 1.4 to 5 in a >1M loc "enterprise" application. From an object oriented database to oracle in the same application. But it didn't last for close to 10 years. It's simply a complete nonsense to my eyes.

It's not 10 years, just 2-3 years. Python3 for the longest time was not useable. Only with 3.3 it became stable enough, and it took until 3.5 until it was even good enough and many libs were ported. On top of it, Python2 works so well and python3 introduces so few advantages that doing an expensive port is just not feasable for many codebases. And I guess that python is used mostly by smaller companys with constantly…

The way I see it:

- 2008-2012 Python 3 as a language becoming usable

- 2012-2016 Libraries gaining Python 2 compatibility (and dropping 2.4 and below)

- 2016-2020 Applications porting now that most libraries are compatible.

Re: Most popular Python packages now support Python 3

#153
post #7

Earlier quoted context omitted.

but at the same time, Python is the fastest growing language https://stackoverflow.blog/2017/09/06/incredible-growth-pyth... because of data science and AI, and I don't see Go replacing Python anytime soon in these domains.

However Python is getting attacked by new language in all areas where it is being used. Go attacks just one area. Julia is a much better language for data science than Python. It was essentially designed for it, while for Python it was an afterthought. Python has a head start today with a large selection of packages and mindshare, but as we've seen with Go, I think that will start eroding in the future. Python simply…

To me, Julia feels clunky as all hell. The other thing is that Julia doesn't help for deep learning, where something like 99.99% of the computation time is actually CUDA kernels.

I don't know; I actually really like the optional typing of Julia in theory, I don't know why I find the language so unpleasant.

Re: Most popular Python packages now support Python 3

#154

I'm planning to spend my free time in the next couple of months learning Python, should I only learn Python 3?

You got many rational reasons for starting learning Python with Python 2:

- It is easier syntax and string-handling for beginners. Else, look for someone who started learning Python with Python 3 and ask them about their experience. You probably won't find many here.

- There are more resources online for learning Python 2. Many MOOCs happily teach Python 2.

- ~5% of very popular libraries are not ported yet. Many unpopular libraries will never see a port. Some use this as an argument for switching to Python 3, but that is like being blind and being told to be happy that the number of inaccessible websites went from 10% to 5%, telling you there is no reason to look at those inaccessible websites.

- Many companies still use Python 2.

- Many distributions come with Python 2 installed.

- Switching from Python 2 to Python 3 is but a minor annoyance, mostly in paying the print-tax. Switching from Python 3-exclusive code to Python 2 is downright hell.

The reasons not to learn Python 2 and start with Python 3 are:

- Python 2 is deemed legacy and will see no security patches after 2020.

- Python 2/3 is painful for some developers and maintainers. They'll cloud this is in a "move Python forward" that is reminiscent of the "move the web forward"-movement (by deliberately breaking designs for older browsers, or forcing the user to download a font to make their layout work properly).

- Python 3 proponents don't care about you learning a new language, they care about adding 1 to the dwindling adoption count of Python 3. They see Python 2 as competition, a ghost from the past. Here the reasons they give you have nothing to do with you wanting the easiest path to mastering Python. These are either political or selfish reasons.

You'll be in the minority on HN if you go Python 2. But realize that HN's stance on Python is not a beginners stance. They use features of the language that you won't use for another 2 years. They have very strong opinions on 2 vs. 3, alternating between calling it a completely different language, and the same (but improved) language, whenever it suits their argument.

Pick wisely.

Re: Most popular Python packages now support Python 3

#155
post #139
post #104

Earlier quoted context omitted.

I recall reading something along those lines, but I could be mistaken!

https://opensource.com/life/14/9/why-python-4-wont-be-python...

There's a big difference between 'Python 3 was a mistake' and 'we won't make Python 4 like Python 3'. This article is saying the latter (and implicitly argues against the former).

Re: Most popular Python packages now support Python 3

#156
post #6

Earlier quoted context omitted.

I wonder if it's possible to get a time series of the history of that ratio. Would love to plot it to see the adoption curve.

Sadly not, as graphite-web doesn't yet support python 3.x! (Which is a shame, graphite is something that always feels older than it should be.)

Actually, graphite-web has made good progress in the last _day_. https://github.com/graphite-project/graphite-web/pull/2139

Carbon has Python 3 support in Github, it just hasn't been released to pypi yet. https://github.com/graphite-project/carbon/blob/master/setup...

Re: Most popular Python packages now support Python 3

#157
post #62

Earlier quoted context omitted.

Thank you. I wonder why they don't list this in their setup.py

They do. I wonder why it's not green. https://github.com/Supervisor/supervisor/blob/master/setup.p...

Ohh, they just haven't released it to pypi yet.

Re: Most popular Python packages now support Python 3

#158
post #112

Earlier quoted context omitted.

I particularly don't see your point when it comes to Scheme. The Scheme I learned in 2002 (MIT Scheme) is all but abandoned. I was one of the people hired to rewrite MIT's course code from MIT Scheme to DrScheme, which was definitely not compatible. DrScheme itself has been superseded by Racket, except at that point MIT changed all their CS courses and rewrote everything again in Python. What Scheme implementation do…

Of course code being data in Scheme you could easily write program that processes scheme code and transforms it to a different syntax. I would assume this would be harder with Python code.

Not particularly. Like any sane programming language, Python has an AST. That's code as data. For porting, it doesn't particularly matter to be able to treat code as data while running that code.

There are tools that use the AST to translate Python 2 to Python 3, such as python-future. (Unfortunately, one of the things the core Python devs botched about the transition is that they put an awful, incomplete, broken one of these named 2to3 in the standard Python distribution.)

Racket's approach is rather different; they just support all the different Scheme/Racket syntaxes and standard libraries PLT has ever supported, with the same runtime. This doesn't include MIT Scheme but there is a syntax for the subset of it used in SICP. I don't think they have anything that converts code between the syntaxes.

I wouldn't mind seeing Python also use that approach -- a Python 3 runtime that runs Python 2 code (and maybe borks your Unicode, which is fine because people who stay on Python 2 clearly don't care that much about Unicode, and that's their prerogative). I'm convinced the only reason no such thing exists is that the first person who makes it would become responsible for everybody's awful old Python 2 code. Maybe in 2020 someone will make it and charge money for it.

Re: Most popular Python packages now support Python 3

#159
post #128

Earlier quoted context omitted.

He likely means {Amazon, Apple, Facebook, Google Microsoft}.

Big5 And "and had to run a team of 5 not-so-great engineers" ? Interesting.

No, I'm sorry, the way I wrote that was misleading. When I was at the bigco, I was quite happy with the quality of engineers around me. I joined a tiny startup after that and was the lead eng on a Python codebase, and that's where all the headaches of a dynamic codebase with untalented engineers came into play.

Re: Most popular Python packages now support Python 3

#160
post #62

Earlier quoted context omitted.

Thank you. I wonder why they don't list this in their setup.py

They do. I wonder why it's not green. https://github.com/Supervisor/supervisor/blob/master/setup.p...

I meant the repo and bug tracker, which is can we listed in setup.py and is picked up by pypi.
Post reply on HN