Live data from Hacker News

Python 2 removed from Debian

bugs.debian.org

91–100 of 513 posts

Re: Python 2 removed from Debian

#91

Earlier quoted context omitted.

I think that's missing the point a little. The actual migration should you choose to do it was almost trivial. The official conversion script did most if not all the work. The changes were all cosmetic, like "print 42" changing to "print(42)". I'd say the uproar was about the minorness itself. The syntax had these tiny but otherwise incompatible changes, and for many people, for no good reason. Fo example it was deem…

> The actual migration should you choose to do it was almost trivial. The official conversion script did most if not all the work. The changes were all cosmetic, like "print 42" changing to "print(42)". If that were it, it'd have been over a lot sooner. For some packages, bytes vs Unicode strings was bad . For many more, layers of dependencies were an impediment. The trivial stuff wasn't the problem.

For some, sure.

But for example a big stumbling block was the scientific programming community, from which I also stem. There were no major syntactical reasons there and yet people were up in arms, for the reasons I describe above.

Most people I know migrated only when python2 literally wouldnt work for them anymore, like they needed a feature of a library only released for python3.

Re: Python 2 removed from Debian

#92
post #19

print "goodbye, sweet prince" I've been slowly porting a lot of my legacy code from 2 to 3 on an as-needed basis, there's a few bits though that are just too huge/crusty/etc that they will never get ported.

Doesn't this say something about the language if it's been so difficult for people to migrate from 2 to 3? Yes, it was a major version change, but it doesn't bode well for arguments that Python is a good language to do long-term, maintainable, and large-scale development. Sure, now things are "settled" with 3, but Python continues to get more features. It just doesn't look good for the language if even doing a langua…

If this was a frequent event then yes that would be an issue. But Python 3 released in 2008, more than 14 years ago now, and since then there have been no sign of such a new big change. While the core developers briefly talked about making Python 3.10 into 4.0 that was scrapped, and currently the plan is just to continue with Python 3.x "forever".

Re: Python 2 removed from Debian

#93

As mentioned by several people already, the migration process from 2 to 3 was really painful. It will be easier for the Python core maintainers, but introducing a breaking change with the intent that that version 2 will be deprecated has probably caused more distress overall, especially maintainers of other open source projects which rely on a specific python version. Let's never have the same kind of breaking change…

> It will be easier for the Python core maintainers, [...] It wasn't not even that easy, to be frank. 2to3 is not a small project [1] and they had (alas, incorrectly) assumed that there were enough people to have enough tests to be benefited from 2to3, only to be found massively wrong. In hindsight no one had a good idea about language evolution; the modern concensus is a single interpreter supporting multiple parall…

> (EDIT: to my knowledge) the first major language with this approach was ECMAScript 2009 (5th ed.) with `use strict` and Python 3 predated it.

https://docs.python.org/3/library/__future__.html

That only works with “syntactic” updates, not with deep semantics changes.

Those are why the core team pulled the trigger on an overhaul update. And they were by far the biggest issues during migration, anything which would be gated behind an edition or opt-in was easy.

Re: Python 2 removed from Debian

#94
2to3 really showed that Python didn't understand their audience.

If they had started a new project called COBRA and just eventually had it over take python the world would be all over it.

But massive breaking changes going from 2 to 3 was a disaster for their audience.

Worse still you could hear the acrimony in Pythons communications on the topic.

Re: Python 2 removed from Debian

#95

I remember using Python 2, if not for Python 3 it would've never become as big as it is today tbh. Been long enough for everyone to migrate to python3, and this finally happened.

Doubt this. Many of the libraries that made python so popular were born in Python 2. e.g: most ml and scientific computing libraries still used today.

Re: Python 2 removed from Debian

#96
post #59

Earlier quoted context omitted.

I started a project in 2016 and used pipenv to freeze all the dependencies. A few weeks ago, I could not get it working on a new machine. Apparently the new system python broke some of the libraries. I had also pinned the python version in pipenv, but it seems like pipenv can only install python versions that are not too old. I really like the language, but all the tooling is seriously broken.

pyenv will make your life easier in this regard. that is all.

Pipenv has pyenv integration. It just doesn't work with python 3.6 on my machine. My guess is that it tries running pipenv itself with the old interpreter and is no longer compatible. In any case, faffing around with 25 different third-party solutions is a horrible developer experience.

Re: Python 2 removed from Debian

#97

2to3 really showed that Python didn't understand their audience. If they had started a new project called COBRA and just eventually had it over take python the world would be all over it. But massive breaking changes going from 2 to 3 was a disaster for their audience. Worse still you could hear the acrimony in Pythons communications on the topic.

I'm wondering, is there work on how python 3's changes could have been promoted in smoother way?

Re: Python 2 removed from Debian

#98
post #49
post #5

Earlier quoted context omitted.

Debian 11 goes EOL in August 2026.

It's pretty bold to pin such a specific date when the release date of Debian 12 is not yet known. Debian releases are fully supported for one year after the next release launches, and then the LTS projects keep it going for another 5~7 years.

True, should have said "around Aug 2026" perhaps?

The LTS project[0] plans for a minimum of 5 year support from the date of initial release, so Aug 2026 is based on the Aug 2021 release date + 5 years. The rough-schedule on the LTS wiki also uses "June 2026" for now.

That's what we've been showing so far on https://endoflife.date/debian (With a disclaimer about what LTS means). Suggestions welcome!

[0]: https://wiki.debian.org/LTS

Re: Python 2 removed from Debian

#99
post #88
post #56

Earlier quoted context omitted.

IMO you're oversimplifying things without appreciating the scope of what went into Python 3. Core developer Brett Cannon's talk "Python 3.3: Trust Me, It's Better than 2.7" goes over most of the differences at the time (2013): https://www.youtube.com/watch?v=f_6vDi7ywuA

> "Python 3.3: Trust Me, It's Better than 2.7" The fact that such a talk exists shows that the improvements aren't worth the switch for most users. If they were, they wouldn't need convincing. Yes, Python 3 is (mostly) better than Python 2. No, it's not even remotely worth the amount of confusion and work it caused. If Python 3 had brought massive performance improvements, or proper support for multiple threads, then…

> The fact that such a talk exists shows that the improvements aren't worth the switch for most users. If they were, they wouldn't need convincing.

That's reading far too much into a tongue in cheek presentation title.

Besides, good devs are typically reasonably skeptical of new and shiny.

And when you've got a large Python 2.7 codebase, and Python 3 is backwards incompatible, you'd be looking at a lot of work to upgrade, so damn straight you'd need convincing to make the investment.

Hell, look at how many Java codebases are still 1.8 because of the upgrade cost of going past that, even though modern Java has many compelling features.

And expecting Python 3 to remove the GIL is incredibly unrealistic. How much Python code in the wild implicitly depends on the behaviour of the GIL? All of it.

Re: Python 2 removed from Debian

#100
post #75

I liked how Canonical did it: the command `python` would not execute, you have to use `python3` explicitly. This means that your old Python 2 code would not get executed if it were triggered by some shell script via the `python` command, you'd have to fix the shell script and become aware that you still need to migrate the Python script.

I dont know python. Does python3 have different behaviour than python2 on the same code, beyond just crashing?

Integer division
Post reply on HN