News for hackers. Stuff that matters.
Re:Python 2 Removed from Debian by tolmasky on Tuesday January 03, 2023 @08:15AM (#34230924)
As someone who does not use Python, the end result of this is that I now look into whether random utilities I use happen to be written in Python, and if so try to find an alternative. This is because I felt the pain of this transition -- again, as someone who does not program in Python. It has been miserable every time some random utility starts complaining that Python 3 is missing and then somehow when you install it something else that wants Python 2 starts complaining. You have containers that have worked for years that all of a sudden error out saying "Python 2 is no longer supported," and you have to dig up whatever library or utility that would otherwise work fine has some sort of date-based check or something? I don't know, all I know is a compiled C++ thing works the same yesterday as it does today, and I can upgrade on my timeline, not have a random Docker layer cache invalidation result in a week's worth of Python 3 migration in the least important part of my build. And it keeps happening, again, because this is not in stuff I directly edit, it's all in random dependencies and sub-utilities of utilities I install. So it is non-trivial to even go in with the mindset of "I will update everything on our systems that use Python". Although I guess if it's being pulled completely now that job will once again be done for me. Sigh.

I have this opinion about no other language. I am generally neutral about languages I don't use. But literally my only experience with Python is porting to Python 3. It's like a sitcom scenario of how to force the worst possible first impression for a language ever. The amount of slowdown and pain that Python 3 has generated on our non-Python project is really just out of this world ridiculous.

Re:Python 2 Removed from Debian by Waterluvian on Tuesday January 03, 2023 @08:35AM (#34231095)
I’m curious why installing Python 3 causes Python 2 programs to break.

The only reason I can come up with is that the installation process is wrongly changing the `Python` symlink. Anyone have other known causes? Does it screw with dependencies?

Re:Python 2 Removed from Debian by tolmasky on Tuesday January 03, 2023 @08:40AM (#34231148)
It is hard to keep track of the (no joke) dozens of different weird failures each unique instance of this caused. But I do vaguely recall that sometimes, yes, you now have to go and point each individual utility at the right Python, or set an environment variable, or something. Other times you are relying on some combined build package, which if you want the one that has Python 3, no longer includes Python 2. So then you have to go manually install it. But its no longer provided by that build manager anymore, it was just a coincidence that it was still being included in buildpacks-whatever, so now you have to figure out whether you want to figure out how to find and install python 2 yourself or maybe just go and update the other thing to Python 3 too or ... UGH. Then you remember wait a minute, I'm not even a Python programmer!

The worst part is a lot of times, since Python 3 is a breaking change, people decide that its a great time to finally do all their breaking API changes too, so all of a sudden updating something to the Python 3 version means all of its associated config files have changed format, and now you're updating config files that have worked great for ages and running into bugs there.

Re:Python 2 Removed from Debian by happymellon on Tuesday January 03, 2023 @09:13AM (#34231515)
> The worst part is a lot of times, since Python 3 is a breaking change, people decide that it's a great time to finally do all their breaking API changes too

Your issue with Python is that some people having bad development practices?

Re:Python 2 Removed from Debian by tolmasky on Tuesday January 03, 2023 @09:20AM (#34231625)
That was one issue I mentioned. You know that. You read my comments.

However, I will take your snarky reply and turn it into lemonade by using it as an opportunity to talk about how often development teams fail to consider the social implications of their changes. As is mentioned in another comment on this post, the Python team seems to readily admit in retrospect that they didn't predict the pain of having no clear transition path, etc. I think another lesson to take from this experience is the realization that if you create some big "line in the sand" update, you may absolutely inadvertently encourage bad development practices. If the Python 2-to-3 transition had held "ease of transition" as a core value, then it is more likely that that value would have been modeled downstream. By instead initially declaring that the 2-to-3 transition was going to be some watershed moment and people were going to have to update everything, it is not surprising that it could encourage people to just pull the trigger on a bunch of breaking stuff they wanted to do, and come to the (incorrect, but understandable) conclusion that they didn't themselves need backwards compatibility since the entire ecosystem was going through a "unique" non-backwards-compatible change anyways.

Re:Python 2 Removed from Debian by dagmx on Tuesday January 03, 2023 @10:09AM (#34232300)
I think part of the issue is that your comments are very ambiguous as to what issues you actually hit.

Most of the major Python packages did maintain 2 and 3 compatibility at the same time. Maybe a few packages had bad coding practices but you’re going to hit that in any language.

I think you’re extrapolating unfairly

Re:Python 2 Removed from Debian by comfypotato on Tuesday January 03, 2023 @10:28AM (#34232599)
Seconded. Noted comment is only mildly snarky at worst. Thanks for your insight on the python3 migrations though. I’ll be wary if I ever see something in that context on the horizon.
Re:Python 2 Removed from Debian by tolmasky on Tuesday January 03, 2023 @11:01AM (#34233136)
> I think you’re extrapolating unfairly

But that's exactly the nature of doing this sort of change. Again, I am not a Python person. This transition created an unintentional filter where the utilities with poor practices surfaced to end users, such that their only direct interactions with Python are always negative. So sure, the extrapolation may very well be unfair, but that is the completely avoidable situation they set themselves up for. No other language expects end-users of the programs written in that language to be sympathetic to some internal engineering transition. All this stuff may have great reasons, but you've already failed if you have to explain those reasons to non-Python users, or tell them this is confirmation bias or whatever. It's just not happening with other languages. And this is for big stuff too. Ansible, which uses 2 pythons, one locally and one remotely, was a pain. Add on to this that this was a fairly public boondoggle, that the makers agree wasn't handled well, so whether "fair" or not, this is a common take away I think.

Re:Python 2 Removed from Debian by dagmx on Tuesday January 03, 2023 @11:33AM (#34233663)
Tons of other languages have version requirements as part of their end user experience.

Whether that’s libc requirements for compiled languages, or Perl language versions being breaking, or even as subtle as differences in behaviour between different compilers such that your system may give different results than another user.

So I disagree with your assertion here.

Yes it’s unfortunate that this is lifted up to the user, especially because of the fact it’s interpreted, but it’s not anywhere near unique to Python.

Therefore I think it’s not a logical outcome to outright avoid Python.

Re:Python 2 Removed from Debian by bloblaw on Tuesday January 03, 2023 @12:11PM (#34234291)
> Tons of other languages have version requirements as part of their end user experience.

That does not dispute the original claim though. It's still a problem for Python even when other languages have the same problem.

> or Perl language versions being breaking

Perl 5.0 code written in 1999 will still happily run in 2023. In part due to the fact that breaking changes are *opt-in* within a Perl script.

Reference: https://www.perl.com/article/announcing-perl-7/

"""Perl 7.0 is going to be v5.32 but with different, saner, more modern defaults. [..] Perl 5 still has Perl 5’s extreme backward compatibility behavior, but Perl 7 gets modern practice with minimal historical baggage. """

Honestly, Perl is an example of extreme backwards compatibility that has the user experience at the forefront of their design decisions.

Re:Python 2 Removed from Debian by dagmx on Tuesday January 03, 2023 @12:26PM (#34234566)
I’m not trying to dispute whether it’s a problem. I agree it’s a problem.

I’m saying that avoiding Python because of it is illogical (to me) because the problems they’re describing aren’t unique to Python, and I don’t think there’s much that doesn’t suffer from it.

Perl is an odd one because, as your comment says, Perl is going 5->7 because 6 was such a disastrous break.

Re:Python 2 Removed from Debian by bloblaw on Tuesday January 03, 2023 @12:58PM (#34235086)
> I’m not trying to dispute whether it’s a problem. I agree it’s a problem.

ack

> I’m saying that avoiding Python because of it is illogical (to me) because the problems they’re describing aren’t unique to Python, and I don’t think there’s much that doesn’t suffer from it.

I don't completely agree, but I see your point. Any interpreted language (or non-statically linked binaries) could (and does) suffer from these problems. I'd like to see Python have a better packaging story...but for now we live with shipping the developers environment (via docker or virtualenv) for running complex Python applications and services.

I will say that *statically linked* compiled languages are able to avoid many of these problems because running these binaries typically only requires the OS (eg, Go, Nim, Rust, Zig, C/C++ when statically linked, Object-Pascal, etc)

> Perl is going 5->7 because 6 was such a disastrous break.

Agree. And they did the right thing by actually renaming it Raku and skipping the version release.

Re:Python 2 Removed from Debian by w0m on Tuesday January 03, 2023 @02:39PM (#34236851)
slight correction >Agree. And they did the right thing by actually renaming it Raku and skipping the version release.

should be >Agree. And they did the right thing by actually renaming it Raku and functionally killing the language.

Re:Python 2 Removed from Debian by naniwaduni on Tuesday January 03, 2023 @12:17PM (#34234384)
I mean, maybe it wasn't quite as clear in 2008, but the Perl 6 fiasco was an obvious disaster that's widely perceived to have killed Perl. It's not a precedent you should want to follow just because it's there.
Re:Python 2 Removed from Debian by dagmx on Tuesday January 03, 2023 @12:24PM (#34234529)
I pointed to Perl specifically because it’s another contemporary to Python in terms of OS scripting while having had a much harder break.
Re:Python 2 Removed from Debian by numpad0 on Tuesday January 03, 2023 @09:41AM (#34231880)
Maybe they should deprecate `python` -> /usr/bin/python3, assuming it's not way too late.
Re:Python 2 Removed from Debian by dagmx on Tuesday January 03, 2023 @10:12AM (#34232330)
The official recommendation from the python developers has always been to keep the unversioned python as a symlink to python2

It was to precisely avoid this scenario where you get it switched out from under you.

This doesn’t mean every distro followed suite (though most popular ones were good about it) , but the biggest issue is users. Tons of users create the symlink or alias for convenience and then forget about it till stuff breaks.

Re:Python 2 Removed from Debian by btdmaster on Tuesday January 03, 2023 @11:26AM (#34233554)
Not anymore: https://peps.python.org/pep-0394/

> Distributors may choose to set the behavior of the python

> Avoiding breakage of such third party scripts was the key reason this PEP *used to* recommend that python continue to refer to python2.

Emphasis mine.

Re:Python 2 Removed from Debian by leephillips on Tuesday January 03, 2023 @08:40AM (#34231145)
I agree completely, plus there are all the conflicting ways of installing and managing Python programs, dependencies, and environments, and the poor quality of so much Python code, some of it widely used. I find myself having to switch the `python` symlink in my path between python2 and python3 regularly, I look forward to the day when I can purge my systems of all traces of Python.
Re:Python 2 Removed from Debian by wildrhythms on Tuesday January 03, 2023 @10:04AM (#34232238)
The number of times I find a script that blindly assumes 'python' points to its required version is too damn high. It makes me question the general competency of the people shipping Python code.
Re:Python 2 Removed from Debian by leephillips on Tuesday January 03, 2023 @10:17AM (#34232394)
It’s inexcusable in recent scripts, but some of these date from the time when there was only python2. No, the root of the problem, as pointed out by many others here, is the policy decision to create two incompatible interpreters both called “python”.
Re:Python 2 Removed from Debian by jeroenhd on Tuesday January 03, 2023 @11:30AM (#34233608)
I think it's actually more excusable in recent scripts as Python 2.7 has been deprecated and unsupported for ages now.

You won't know what version of Python 3 you're getting, but at this point it's safe to assume you're getting a version of Python 3 when you call python.

Only old scripts written when Python 2 and 3 were maintained separately should've ever had this problem, but we're past that point now.

Re:Python 2 Removed from Debian by bloblaw on Tuesday January 03, 2023 @12:14PM (#34234343)
Yes, but *which* Python3? Are you getting one with f-strings support? Because if you aren't, now you've got to install that.

How about one with dataclasses support? Again, you get to install a new interpreter everywhere.

Python packaging continues to be a sore spot for the language.

Re:Python 2 Removed from Debian by jeroenhd on Thursday January 05, 2023 @08:40PM (#34269835)
You're getting the Python version you've specified as a requirement in your requirements.txt, unless your users ignore or bypass that. What language features you support depend on the minimum version you pick, and if you choose to go bleeding edge/not pick a version/pick a version and use newer features anyway, you're responsible for getting support to work.
Re:Python 2 Removed from Debian by bloblaw on Friday January 06, 2023 @02:07AM (#34271825)
But what if you just write a Python3 script and want to run it? Not a full blown application, but just a script.

I mean the Python ecosystem is such that now I have to "package" up this script to potentially tell the user with Python 3.6 that they need to download a new interpreter version (eg 3.9) to run my application (and any dependencies). This puts all the pain of running a script on every user that wants to run it.

I've said it before, but Python requires users to replicate the developers environment...and somehow this is fine?!? Statically compiled languages (eg Go, Nim, Rust, C/C++, Obj-Pascal, D, etc) ship binaries...that just run.

Obligatory xkcd: https://xkcd.com/1987/

Re:Python 2 Removed from Debian by jeroenhd on Friday January 06, 2023 @02:12PM (#34279378)
If you just want to write a script, you likely know the version available on your system.

When in doubt, add the #!/bin/env python3.10 shebang to the top of your script to ensure the version it's running on is the same as the version you're writing the script for.

If I build an application on Linux I need to specify a glibc version or a PHP version or a Java version in some way as well. I don't see what this has to do with Python. Good luck running a jar built with JDK19 on JRE8, or an executable linked against glibc2.36 on Ubuntu 18, or a Python file written for Python 3.10 on a system that comes with Python 3.6.

Statically compiled languages come with their own problems (note that C++, Go and Rust also have system requirements, I've had to deal with a Go executable that would not work in a musl environment and a Rust executable that I needed to build on Ubuntu because the compiled version from my Manjaro laptop linked a against a libc version that was too recent).

If you need dependencies, specify and install them. If your only dependency is the interpreter, document it, specify it in the shebang, or deal with it. Python 3 is completely backwards compatible in my experience, it's only the programs that stuck with Python 2 for a decade that have trouble running on modern machines in my experience.

Re:Python 2 Removed from Debian by bloblaw on Saturday January 07, 2023 @01:32AM (#34285766)
> Good luck running a jar built with JDK19 on JRE8, or an executable linked against glibc2.36 on Ubuntu 18, or a Python file written for Python 3.10 on a system that comes with Python 3.6.

Yes, you are starting to see the problem. This is why I recommend statically compiled binaries as a solution to this scenario, and do not recommend any of the above.

Here's a real scenario I've had in my career, when deploying a script to 350k systems. I know I have Python 3.x, but I cannot count on the fact that every (or most) clients will have even a functioning Python interpreter. So what's the solution? Ship a docker container to everyone? There are multiple ways to solve it, but I complied a statically linked binary instead of writing a Python script...and had no issues.

> If you need dependencies, specify and install them.

Here be dragons, and this is the entire reason I avoid Python when I need my code to 100% work on another machine I can't fully control. I choose statically compiled languages in these instances. In a server deployment...sure it's fine because I can control that.

> Python 3 is completely backwards compatible in my experience

I do not agree. F-strings were introduced in 3.6, so if you write a script that uses them and run across a system that doesn't meet 3.6 or better, your script will fail. Again, if you can ensure the system will have it (or you can donwload 30 mb and are able to install Dataclasses and 3.7 are the same problem. TypeDict in 3.8. All use of these will fail to function in a previous release.

Maybe you'll say that 3.6, 3.7, 3.8, etc are too old and so it's not a fair comparison. Or you'll say to just install a new version of Python. All that is overhead and requires more management. And what if you want to run that script on a bastion host, or a prod server, or a server you don't have ability to download and install external binaries? (all of these are real scenario's I've experienced).

My experience has taught me that if I can't control the machine the script runs on, I save headaches by using statically compiled languages. As always, YMMV.

Re:Python 2 Removed from Debian by wheelerof4te on Saturday January 14, 2023 @06:44AM (#34379501)
The only useful feature from that list are F-strings, which goes to show what joke of a language Python has become.
Re:Python 2 Removed from Debian by tusharsadhwani on Tuesday January 10, 2023 @08:51PM (#34334087)
requirements.txt doesn't support putting your python version in it
Re:Python 2 Removed from Debian by jeroenhd on Tuesday January 10, 2023 @10:01PM (#34334538)
You're right, I misunderstood environment markers.

However, you can ensure compatibility around this by specifying the required version in the top of your script:

    import sys
    minimum_version = (3,6,1)
    if sys.version_info < minimum_version:
        sys.exit("You need Python 3.6.1")
This will work because of how Python's tuple comparison works.

As long as you put this above any code requiring any specific version (this will work with Pyton 2.7, I don't have anything older to test) this will halt execution on dependency failures.

You can include these checks in your setup.py if you want to rely on Pip so users are warned on install time. You could probably also add this to some wheel trigger if you add a local/public package as a dependency in your requirements.txt.

Re:Python 2 Removed from Debian by iforgotpassword on Tuesday January 03, 2023 @09:53AM (#34232076)
I wouldn't avoid a python program right from the start, but simply not bother if it actually wants 2 and only then start looking for an alternative. If anything that debian move might accelerate deprecation or upgrades of stuff that still uses 2. And then we might live in a perfect world with only python 3, because uuuuuunicooooode.
Re:Python 2 Removed from Debian by SOLAR_FIELDS on Tuesday January 03, 2023 @10:29AM (#34232626)
This rant feels like it would have been relevant in 2016-2018 or so, but in 2022-2023 I write a lot of Python code and don’t really run into Python 2 vs 3 issues anymore. Once Python 2 officially EOL’ed the ecosystem basically managed to port whatever was important enough to keep using over to Python 3. Im sure some legacy megacorps are still doing stuff in Python 2 but that’s no different from these corps running some ancient version of Java which is also somewhat common.
Re:Python 2 Removed from Debian by tolmasky on Tuesday January 03, 2023 @11:11AM (#34233300)
> I write a lot of Python code and don’t really run into Python 2 vs 3 issues anymore.

I think you are missing the key point here: I don't write a ton of Python. I don't write any Python. Of course you think this is old news. You write a lot of Python. You're totally plugged in. You've known this is coming, this inside baseball is "the thing" for you. My point is that, believe it or not, the rest of the world does not keep up to date with whatever the Python community is doing. This is not unique to Python. Most people in dev community X are not aware of what is happening in dev community Y. What is unique to Python is that all of a sudden we were forced to become aware as the downstream apps began to break. By creating a backwards compatibility issue in an interpreted language, you necessarily "backload" the end-user pain to when the apps, which by definition are updated later than the code within the apps, begin to break as packages are removed from package managers, or things are EOL'ed, etc. This is a situation that I can honestly not remember happening with any other language. I can't remember any other circumstance, and certainly not one where it proceeded to happen repeatedly, where I've been abruptly made aware that utilityX was written in a no-longer-supported version of C/perl/whatever (when I previously didn't even know what language it was), after I had been running it for ages.

Re:Python 2 Removed from Debian by _eht on Tuesday January 03, 2023 @11:14AM (#34233353)
This is such an odd and entitled take for a person who is really trying hard not to care about python.
Re:Python 2 Removed from Debian by tolmasky on Tuesday January 03, 2023 @11:21AM (#34233464)
It's as if JavaScript had shipped a non-compatible update, browsers had on a magic day stopped supporting the old JavaScript, and all of a sudden her crossword website stopped working because that site's developer didn't update the JavaScript. This grandma sure complains a lot about broken websites for someone who supposedly doesn't know what JavaScript is. What an entitled grandma. Why doesn't she just build Linux from source and check out a previous release of the browser from git.
Re:Python 2 Removed from Debian by _eht on Tuesday January 03, 2023 @11:24AM (#34233520)
Are we pretending that’s what happened now? Or are you just doing story time on HN?
Re:Python 2 Removed from Debian by tolmasky on Tuesday January 03, 2023 @11:36AM (#34233706)
That is precisely what happened: I don't write Python (grandma doesn't write JS). Python changed (JS changed). Environment stopped supporting the old one (browser for grandma, package manager for me). End-user apps didn't keep up (website for grandma, the apps for me). I am now forced to go resolve these issues. This is 100% analogous. Please explain how it is not. In both scenarios you would blame the "app developer" (in the Python case you would blame app/library developers for bad dev practices or whatever, in the hypothetical you would blame the website developer for not updating the crossword page), and the end-use for being entitled (in my case, the user of various apps that are broken, and the grandma using the crossword website). You supposed solution is that we should either not complain, or I guess, ironically, just learn the base systems better to be more on top of things so we can compensate for the bad dev practices ourselves.

Also, I am not "trying hard" not to care about Python. I specifically said in my very first comment I go out of my way to avoid it now. I think that falls in the "cares" category. My default state is to not be aware of what language things are written in. I don't know if some given tool is written in C, bash, or JS. If I were to coincidentally learn what language it was written in, it might serve as a curiosity, but not really phase me either way. However, I was forced to become aware of a bunch of Python stuff since it started breaking, and then forced to learn about all the weird workarounds to get it working. Given that I was forced to repeatedly deal with dependency hell with apps in this language, I am now choosing to avoid it if I can in the future if I learn that an app is written in it.

Re:Python 2 Removed from Debian by _eht on Tuesday January 03, 2023 @11:40AM (#34233781)
Ok Tommy, all this typing and no code updates. Maybe tech isn’t for you and you should avoid it in the future.
Re:Python 2 Removed from Debian by daaaaaaan on Tuesday January 03, 2023 @11:46AM (#34233888)
This is a weird gate-keeping response.
Re:Python 2 Removed from Debian by _eht on Tuesday January 03, 2023 @11:57AM (#34234081)
This person is gate-keeping themselves, daaaaaaaaan.
Re:Python 2 Removed from Debian by tolmasky on Tuesday January 03, 2023 @11:48AM (#34233922)
It's always amusing when the other person has to fall back on "The tricks on you! You invested time talking to me, while I deviously spent way less time and put less thought into my arguments. Don't you feel foolish now?" No, not really. As it turns out writing a couple paragraphs does not meaningfully impact the progress of my other work. And I would assume that's the case with most people.

Maybe one day you can get past DH0: http://www.paulgraham.com/disagree.html

Re:Python 2 Removed from Debian by hannasanarion on Tuesday January 03, 2023 @02:19PM (#34236553)
What "end user apps" are you talking about?

The "magic date" when the breaking update came was 15 years ago. Python gave this developer 10 years to get with the program and update to the new version, and Debian kept it alive for an additional 5 just in case.

If a developer can't get their act together to change over their codebase to preserve minimum functionality despite FIFTEEN YEARS of warning, I don't want to be using their app because who knows what other obvious problems they are ignoring.

Re:Python 2 Removed from Debian by _eht on Tuesday January 03, 2023 @04:35PM (#34238418)
Let me add these types of users rarely think about sponsoring such ‘important’ projects that they seem to not be able to live happily without.

It’s called open source entitlement. The kind of people who fill up your issues and don’t push PRs and only donate with their melodramatic keyboard.

Re:Python 2 Removed from Debian by ninkendo on Tuesday January 03, 2023 @07:38PM (#34240250)
I fully agree with this sentiment and this is why I’m increasingly convinced that scripting languages (and any language that requires a VM which is not included in the platforms you deploy to) are wholly inappropriate for software which you distribute to non-developer end-users.

Nobody should ever have to be hit with obscure pip/virtualenv/pypy/etc bugs for trying to use your command line app. Nobody should have to suffer through an “installation” step that requires installing the language itself and running a language-provided package manager to install dependencies/etc. I don’t care how much you wrap it in a setup.sh that tries (and typically, fails miserably) to automate everything.

(For OS’s like linux, your distro-provided package managers make the situation slightly better, but only if you ship your app as a package using these distro’s built-in package systems, which is a huge pain if you want to support multiple distros.)

But if you opt to skip the package manager and want to ship a “simple” installation experience using something like a setup.sh, and you want to use a scripting language like python/ruby/etc (integrated with an installation of that language in $HOME or in some system directory), you’re treating your users to a world of pain. Please, please use a compiled language, and ship a binary (or collection of binaries/libraries that can sit in a folder together and just work when you run it.)

Re:Python 2 Removed from Debian by toyg on Wednesday January 11, 2023 @03:48AM (#34336457)
Welcome to the magic world of CSS.
Re:Python 2 Removed from Debian by charlieyu1 on Tuesday January 17, 2023 @02:11AM (#34409892)
Backward compatibility is not free, it would eventually become bloat that is too big to fix. MS Windows and Office for example, and Adobe Flash was killed for good. I’m sure you can find a lot of examples.
Re:Python 2 Removed from Debian by CamperBob2 on Tuesday January 03, 2023 @11:19AM (#34233434)
It’s like my grandma complaining about the internet being slow... because her CPAP machine is tethered to the clinic with an IP connection and is shutting down every night at 2 AM because a Python script on the server at the other end is no longer running.
Re:Python 2 Removed from Debian by _eht on Tuesday January 03, 2023 @11:22AM (#34233486)
I edited my comment before you hit post, but I’ll still reply to LOL at that. Think about what you just said for a sec. Then blame that on a python2.
Re:Python 2 Removed from Debian by CamperBob2 on Tuesday January 03, 2023 @12:29PM (#34234608)
Laughing at your users is a sure path to unlimited success and good fortune as a developer, for sure.
[dead]
Re:Python 2 Removed from Debian by dang on Wednesday January 04, 2023 @02:40PM (#34250328)
We've banned this account for repeatedly and egregiously breaking the site guidelines. Not cool.

If you don't want to be banned, you're welcome to email [email protected] and give us reason to believe that you'll follow the rules in the future. They're here: https://news.ycombinator.com/newsguidelines.html.

Re:Python 2 Removed from Debian by carapace on Tuesday January 03, 2023 @11:46AM (#34233891)
I prefer Hg over Git but I use Git. Why? One time I tried to use hg command and it didn't work. Why? I was on a system that had incompatible Python interpreter to the Hg scripts.

That was it. Since then I use Git everywhere even though I prefer Hg.

Re:Python 2 Removed from Debian by _eht on Tuesday January 03, 2023 @11:55AM (#34234045)
And one time I tried to install MS Office on my OpenBSD server. Can you guess what happened?

Since then I only use Ed even though I prefer MS Office. What was your point again?

Re:Python 2 Removed from Debian by carapace on Wednesday January 04, 2023 @11:59AM (#34248118)
The point is that even though I like Python and Hg, a single snag like that is enough to tip the cost/benefit ratio in favor of C (egad!) and Git.

(With a side dish of "I'm entitled to working tools.")

Re:Python 2 Removed from Debian by Nvorzula on Tuesday January 03, 2023 @04:34PM (#34238410)
How is it odd and entitled for an end user to not like it when things suddenly break?

That is, I believe, the entire point of the parent, is it not? That this whole migration was not quarantined to the Python developer community. That it spilled over to users in totally unrelated spaces.

Re:Python 2 Removed from Debian by jasonmp85 on Tuesday January 03, 2023 @07:20PM (#34240083)
The point is just you don’t understand how your tools work.
Re:Python 2 Removed from Debian by mikewarot on Wednesday January 04, 2023 @04:17AM (#34243613)
It seems the actual problem is a disagreement on how tools SHOULD work.

A saw still works after a decade on a shelf, programs should still work too because they are tools.

Re:Python 2 Removed from Debian by jasonmp85 on Wednesday January 04, 2023 @05:15AM (#34243969)
What shelf? A garage? Detached? A shed? How humid? You may want to resurface and oil that saw after a decade. The wood handle may have rotted, or the plastic one may be gummy. Taking care of tools is how they last.
Re:Python 2 Removed from Debian by mikewarot on Wednesday January 04, 2023 @04:17PM (#34251809)
The 100 year old saw I inherited and used to cut down a broken tree last year.
Re:Python 2 Removed from Debian by vonseel on Wednesday January 04, 2023 @08:05PM (#34254464)
That's cool, but if the 100 year old saw had been used regularly it would have required maintenance and sharpening to continue working well. Software also requires maintenance.

I can't think of any 100-year old software that is being used today (ha-ha).

I'm sure some airline reservation systems and banking systems written in COBOL in the 70s are still around, but they all have ongoing maintenance to keep them working correctly.

The commenter's complaint seems particularly worse with dynamic languages like JavaScript and Python than compiled things. Old projects written in node are often just as hard to get running or installed as something written in Python 2. The dependencies are out of date, you have to install an older version of Node.js, or the dependencies just don't exist anymore. And JS stuff usually generates a huge tree of dependencies even if they only directly rely on a handful of packages.

End of story, I think if these Python-2 tools/scripts were such a huge part of his project that they keep breaking builds, the company should be invest time in either rewriting them in their language of choice or maintaining those projects or a fork of those projects.

One of my old bosses was strict about this - no COMPANY projects should be relying on external package repositories, unapproved third-party dependencies, definitely not some github project maintained by only a few people. Yeah, I think if your company is relying on "requests" or some other massively popular project with tons of community maintenance, you don't want to fork that and it's important to use the standard versions. But if you're bringing in something that is used and maintained by only a few people - you either need to become part of the community that maintains it publicly or fork the project and maintain your own version.

This isn't NIH syndrome, it's basic protocol for keeping your builds reliable and dependency management simple.

Re:Python 2 Removed from Debian by mikewarot on Thursday January 05, 2023 @03:04AM (#34257232)
>This isn't NIH syndrome, it's basic protocol for keeping your builds reliable and dependency management simple.

Why should I, an end user, ever need to build WikidPad? I don't need to do so on Windows, why doesn't Linux support the same thing, shipping an executable?

When you go to the store, you're not presented with a set of tools for making a saw, you're given a complete, ready to go tool. Perhaps the very idea of users having to build things in Linux is the problem?

It is very similar to the problems with Windows, always pushing updates/upgrades that aren't necessary, and often break things. Windows machines are far less reliable on Wednesday than they are on Monday, because of Microsoft's idea of pushing patches on Tuesdays.

Re:Python 2 Removed from Debian by lucyferzyr on Tuesday January 10, 2023 @03:23PM (#34330937)
First comment is a complain about python and the first thread is about saws and woodworking tools.

Truly a hacker news experience.

Re:Python 2 Removed from Debian by bloblaw on Tuesday January 03, 2023 @12:01PM (#34234152)
"rant"? Is that what a criticism of a technology that you like is called?

I feel your response is best summarized as: "I like Python. I've never had this problem and don't think it's a legitimate problem. Only $megacorp users have this issue, and their concerns aren't important."

If you dismiss the problem (as you've done) then you don't have to intellectually address it. The Python 2 -> 3 transition was hard for those that huge productive workloads in Python2, and this pain will have a long tail.

Re:Python 2 Removed from Debian by still_grokking on Sunday January 08, 2023 @01:02PM (#34301385)
Dude, Python 2 is dead since 3 years officially, and was burred already almost a decade ago.

Whoever missed that is self responsible for all self harm done by ignoring that.

Re:Python 2 Removed from Debian by Wronnay on Tuesday January 03, 2023 @10:53AM (#34233028)
This is not just a Python problem. I remember when PHP shifted from 5.6 to 7 - I used many projects and software which needed to be updated because e.g. all the mysql_ functions and some crypto functions were removed.

Same Issue with e.g. converting Vue 2 to Vue 3 or Angular.js (Version 1) and Angular (Version 2).

I really hate when some programming languages or frameworks completely remove important functions which were used by nearly every project.

Re:Python 2 Removed from Debian by purkka on Tuesday January 03, 2023 @10:59AM (#34233099)
>You have containers that have worked for years that all of a sudden error out saying "Python 2 is no longer supported,"

Isn't this precisely the problem containers are trying to solve? You can update your system, get rid of unsupported software, and still keep the older version of Debian within your container that depends on an unsupported version of Python.

Re:Python 2 Removed from Debian by tolmasky on Tuesday January 03, 2023 @11:17AM (#34233402)
That's the dream of containers. Arguably this is the "reality" of Nix. But the reality of containers is that if a layer gets invalidated, you need to refetch packages that are lower down. If the Python 2 versions (or Python 2 itself) is removed, then you can't "just" surgically make the change you want in the container without affecting the rest of the system (this is a major failing of Docker, but the world we live in). Now, you can start digging around in the container image and trying to do "layer surgery" yourself by editing the tars, but I would also consider that a less than ideal outcome of these changes.
Re:Python 2 Removed from Debian by edaemon on Tuesday January 03, 2023 @12:03PM (#34234178)
How would Python 2 end up removed from a container image?
Re:Python 2 Removed from Debian by sheenobu on Tuesday January 03, 2023 @12:25PM (#34234535)
If someone builds a container that is designed like this:

  FROM debian

  RUN do-x
  RUN install python2
and then someone changes do-x, if I understand, the layers below it get invalidated and all of a sudden install python2 fails. This is very bad design but very easy to replicate.
Re:Python 2 Removed from Debian by hannasanarion on Tuesday January 03, 2023 @02:27PM (#34236684)
Okay, but surely my poorly written dockerfile that grabs the wrong images and runs broken code is not Debian's or python's problem?

Older versions of debian that still support python2 will theoritically be around forever, and any codebase that absolutely needs them should always work.

(though I contend that, given that we've had 15 YEARS of warning that this was coming, such instances should be vanishingly rare and not under active development)

Re:Python 2 Removed from Debian by blooalien on Tuesday January 03, 2023 @05:21PM (#34238979)
> … "given that we've had 15 YEARS of warning that this was coming" …

This right here is the part that I'm still having troubles wrapping my brain around. People still stressing about Python 2 "going away" (it's gone folks; accept it) despite the fact that there's been well beyond a decade of advance warning, and Python 2 having been officially EOL ages ago now.

Re:Python 2 Removed from Debian by still_grokking on Sunday January 08, 2023 @01:10PM (#34301470)
People won't move until heavens fall down on them.

And than they will start complaining that it's other peoples fault that they didn't move.

Re:Python 2 Removed from Debian by cge on Tuesday January 03, 2023 @02:55PM (#34237073)
Nix is also now intentionally breaking any packages that use Python 2, in my experience, so unless you're using a specific, older Nix channel, you're unlikely to have much success with anything that needs Python 2.
Re:Python 2 Removed from Debian by fest on Tuesday January 03, 2023 @11:07AM (#34233244)
I have noticed pip warnings in the container build logs about python2 being unsupported- perhaps there is some "treat warnings as errors" flag set in some builds. Perhaps some builds use untagged base OS containers- building those after python2 is removed will fail.

Also, at some point old OS package repositories may be deleted (or bitrot out of neglect)- at that point building containers that depend on python2 will fail. You'll be able to use images built previously, but not everyone is backing up custom images in some remote docker registry.

Re:Python 2 Removed from Debian by bravetraveler on Tuesday January 03, 2023 @12:55PM (#34235047)
It sounds like you do use Python, but when you do, you face this problem...

That's fine, but I wanted to clarify - you intend to not use Python, because you have tried and it's not gone well.

Python didn't come out of the woodwork and attack you, so much as you stepped into a (momentarily) troubled ecosystem.

I understand they were dependencies of other projects. By using those, they became your dependencies.

Take some ownership of your problems, even if the ecosystem provides them -- they are chosen, and can be managed.

Distributions do a decent job distributing modules...

Utilities have an annoying tendency to rely on SomeStableModule==SpecificVersionForNoReason. This compounds the mess, sadly.

Those should be routinely addressed as part of your auditing, along with the whole of the supply chain

I can't really prescribe much... this is just generic advice.

I understand the woes, it's just not as unique as this is painted

Re:Python 2 Removed from Debian by bloblaw on Tuesday January 03, 2023 @01:10PM (#34235260)
> Take some ownership of your problems, even if the ecosystem provides them -- they are chosen, and can be managed.

Huh? This has a strong "No, it's the children who are wrong" vibe.

But to be more fair to your point, I think this is a dismissal of the OP concern's. A troubled ecosystem should be concerning to the Python community as a whole because it threatens future adoption if not addressed.

User's don't want a troubled ecosystem and will find languages that avoid these problems...and Go, Nim, and to smaller extent Zig, Rust, D are strong alternatives for the different workloads currently provided by Python tooling.

Python has a good moat with both ML and mind-share of developers...but at one time Perl had a similar moat...

Re:Python 2 Removed from Debian by bravetraveler on Tuesday January 03, 2023 @01:14PM (#34235328)
It's a fair criticism, I know it's a bit harsh! I appreciate it and both the more fair take.

> User's don't want a troubled ecosystem and will find languages that avoid these problems

It's true, I'm very late to Python myself -- for the exact same reason. The distribution part of the ecosystem is a nightmare.

People want utilities, but they learn more than they ever cared to because of dependencies.

I'm only learning how to manage it now because work demands it.

Prior, all of my needs had fortunately been met by my Linux distribution of choice -- the Python part was abstracted away, for the most part.

Developers of these utilities could save some (shared) effort by offering package specs/finding a maintainer, but I understand why it's not common.

(I may even build/maintain it for you, to sweeten the pot)

I guess the fuel of this thing is, 'misery loves company' -- I'm dealing with it, and I can't just whine about it.

The "I don't use it and it still affects me part" was the bait -- they do use it

Re:Python 2 Removed from Debian by tolmasky on Tuesday January 03, 2023 @01:32PM (#34235667)
> Take some ownership of your problems, even if the ecosystem provides them -- they are chosen, and can be managed.

Not sure where you're going with this. I didn't whine to someone else to fix it. I did take ownership. Over and over. I fixed these problems, as unrelated to my main goal as they were. I then complained about it after the fact. Seems like a totally fair ordering of events to me.

Separately, I will state that Python is an environment that seems to go out of its way to make it hard to meticulously manage dependencies if you want to. There's all sorts of competing environments and package managers. I'm sure it's straightforward if that's your main environment, but it doesn't help if you're coming form the outside.

> Those should be routinely addressed as part of your auditing, along with the whole of the supply chain

This assumes that the only available option is "manage this dependency better". That's not the only option. There is also "consider using something different that is easier to manage." Most of these utilities exist in a competitive market. And if there are utilities that allow me to choose the cadence and separately make that auditing simpler, then I will choose that. That is the point of my statement. I am not choosing to go on a hunger strike or avoiding some no-other-choice tool. Quite the contrary, a lot of these tools were chosen by other members of the team at some point, either because it's what they were familiar with or some other unimportant reason, and now they have, to their own detriment, made themselves the squeaky wheel, and opened up the range of possibilities to everything from "put in the work to maintain this tool that has currently demonstrated itself to be brittle" to "maybe I should use something else". Generally speaking, it's a bad thing to only draw attention to yourself when you are doing something bad.

> can't really prescribe much... this is just generic advice.

And yet this is a specific problem.

> I understand the woes, it's just not as unique as this is painted

It very much is unique. I'm literally not experiencing this with any other language that I don't directly use. Do I experience this with the libraries I directly use in my language? Of course. I signed up for that. I know the risks I take using beta builds and have a keen sense of the current internal transitions, etc. But I absolutely do not become aware of the latest argument in the C++ language spec, or a contentious Swift proposal, or end up becoming vaguely aware of the string implementation choices of a language I don't use. That is a unique Python thing. The fact of the matter is, Python has (recently? momentarily perhaps?) proven itself to require more maintenance than other tools I use. The community can decide who's at fault for this (language devs, library devs, end users, whatever), and even whether or not it matters, but if the message to the people outside the community is to deny that this is unique or troubling, then don't be surprised if the way they choose to take ownership is to count Python as a point against a project they are considering to use.

Re:Python 2 Removed from Debian by bravetraveler on Tuesday January 03, 2023 @01:36PM (#34235758)
I apologize for being so... combative, at first.

It was very knee-jerk to the interpretation that I had: "distance has been kept from Python and yet it's been a problem"

There hasn't been that much distance, truth be told. You did the same care for Python as you did the libraries, but it cost too much.

We're in complete agreement on dependency/manager aspects of Python -- my main point is, that's the core of it, I guess.

Everyone goes through this, it's awful and annoying, and my original post is a poor response to the presentation of that

The Python 2 vs 3 thing is settled, upgrade to a recent LTS and it's done... until a random relic utility comes around. Then obviously discard it

Re:Python 2 Removed from Debian by orf on Tuesday January 03, 2023 @01:28PM (#34235602)
The python2 executable still functions correctly as does all other code you have that relies on python2. Make sure the code is in the right place and run the python executable just as you have done before.

However that's not what you're complaining about. You are complaining about is that you want others to support python2 forever, just as you may want browsers/sites to support `alert()`, the `<blink>` tag and IE 6.0 forever. However that's not how the world works.

If you wish to use something nobody else wants to support, then you need to support it yourself.

Otherwise, take a moment to understand the thing you are using and follow any instructions to upgrade. Don't put ignorance on a pedestal and then make the argument that the fruits of your ignorance are only the fault of others and not yourself.

Re:Python 2 Removed from Debian by tolmasky on Tuesday January 03, 2023 @02:01PM (#34236235)
> However that's not what you're complaining about. You are complaining about is that you want others to support python2 forever, just as you may want browsers/sites to support `alert()`, the `<blink>` tag and IE 6.0 forever. However that's not how the world works.

Incorrect. You have to understand that I am not a Python user, and don't a priori care what they do with the language. I only become annoyed when something breaks on its own, or if changing one unrelated thing breaks other unrelated things. This happens for a variety of reasons:

1. Either date-based breaking, or patch releases designed just to throw up deprecations, and breaking the tools you actually use.

2. Packages and or binaries disappearing from package managers, such that even if I have a pinned version and I make no changes, an accidental cache invalidation can now break the entire image.

3. The fact that updating one utility may break others (either because you need to figure out this python symlinking issue or whatever).

4. Python causing discontinuities that don't exist in other bundled build tools. Going from buildpacks:x to buildpacks:y, to get a new feature in A, usually doesn't affect B, but in the specific case of Python, means the installed version might change and break a bunch of stuff.

5. Python 3 changes often being bundled with breaking API changes in app updates, making "upgrading to Python3" a uniquely involved challenge for each one.

If you deprioritize "fault" for a second, such that we're not deciding who's to blame here (whether it's the transition plan by the language devs, the library or app authors, the distribution handlers, or even end users like me), you have to reconcile the fact that this is a unique situation to python. I am not describing the woes of development in general. I am describing a very python-specific set of experiences for non-python users. I did not out of nowhere decide to get angry at a language I don't use. This is the result of a repeated set of circumstances that just aren't happening elsewhere.

As has been mentioned throughout this thread, it is further upsetting that a lot of this could have been avoided. The fact that there are things that could have been done differently to make the long tail effect less painful is fairly disappointing. At the end of the day, I don't need a list of solutions. I've implemented them all, don't worry. I've gone through and read the 500-thumbs-upped threads of people repeatedly running into this exact same problem, either found an easy workaround or taken the time to update the config files for a tool that rudely put itself at the front of my priorities list in order to fix the build, or found a way to remove the utility in question completely. This is not me coming on here trying to figure out how to move forward. This is me identifying a clear pattern, and sharing what I believe to be is a common conclusion: putting "python" in the "cons" column when considering a tool.

I come from the node world. There's plenty of people that do the same for node. Some of it I consider fair, others not. But I make no illusions about one fact: if we want to change that perception, it's up to us to earn that by making the experience better going forward, not by explaining to people why their experience actually isn't real. For example, if there is a simple solution, if you just were familiar with the ecosystem, then LOG IT WHEN THE ERROR HAPPENS. If the person has to go to stack overflow and see a thousand other people running into the same thing, then you've failed.

> However that's not what you're complaining about. You are complaining about is that you want others to support python2 forever, just as you may want browsers/sites to support `alert()`, the `<blink>` tag and IE 6.0 forever. However that's not how the world works.

This is also hilarious since you had to scrape the bottom of the barrel to find the only instances of "non backwards compatible" features in JS/HTML, an environment notorious for backwards compatibility. Also, `alert` may still stay in.

Re:Python 2 Removed from Debian by orf on Tuesday January 03, 2023 @02:10PM (#34236408)
Ok cool but all this is just complaining that your build system isn't hermetic and that's someone else's fault? Like, what? You want to "not care about any of this" but then get annoyed when that bites you in the ass?

Avoid writing huge, long rambling comments and try to simplify your arguments to less than 100 words. You may find the fault, and the fix, becomes obvious.

Start with trying to refute "The python2 executable still functions correctly as does all other code you have that relies on python2" without referencing anything specific to your build practices.

> This is also hilarious since you had to scrape the bottom of the barrel to find the only instances of "non backwards compatible" features in JS/HTML, an environment notorious for backwards compatibility. Also, `alert` may still stay in.

Those where the first that came to mind. There are many others, and many more if you widen it to server-side JS.

Re:Python 2 Removed from Debian by tolmasky on Tuesday January 03, 2023 @03:20PM (#34237409)
> Avoid writing huge, long rambling comments and try to simplify your arguments to less than 100 words. You may find the fault, and the fix, becomes obvious.

If you don't want to read the comment, then also don't bother responding. The comment is long because I am explaining a death by a thousand paper cuts situation. Don't worry, Python isn't going to die just because I don't like it. You don't have to defend Python even if you don't feel like reading my comment. You can also just ignore it or come back to it when you have time to engage with it thoughtfully, instead of just asserting you are correct and having your only argument be that I can't fit my argument to the arbitrary word length you've come up with.

> Those where the first that came to mind. There are many others, and many more if you widen it to server-side JS.

You should stick to talking about Python. This is just not the case and not the culture of browser JS. It's honestly fairly disrespectful of the monumental work browser engineers have done to make that a reality. If you want to switch your argument to server-side JS (where blink and alert don't exist and you are thus leaving it completely as an exercise to the reader to come up with the similar situation), fine, but node 0.10 runs exactly the same today as it did 10 years ago. Again, the bar I am setting is low: have the unchanged thing still gettable and still runnable. I get it. When you work in a certain environment, you imagine all the problems it has must be common and all the benefits are unique. But that isn't the case with this particular problem.

Re:Python 2 Removed from Debian by orf on Tuesday January 03, 2023 @03:26PM (#34237491)
It’s possible to explain a death by 1000 cuts situation in less than ~630 words. Despite that in the now nearly 1,000 words you’ve written in this sub thread alone you haven’t really asserted anything concrete.

Start with trying to refute "The python2 executable still functions correctly as does all other code you have that relies on python2" without referencing anything specific to your build practices.

Re:Python 2 Removed from Debian by tolmasky on Tuesday January 03, 2023 @03:58PM (#34237939)
Sure, can't get python2 in Alpine 3.17. Few enough words for you?
Re:Python 2 Removed from Debian by orf on Tuesday January 03, 2023 @04:13PM (#34238144)
Yep! That’s perfect, thank you. If that’s your condensed point I’ll repeat my first comment: you’re looking for other people (alpine) to maintain python 2 for you forever.

Presumably you’re too “not caring about any of this” to just pin your image to “alpine:3.15” and have it just work exactly as before? And presumably you’re too not bothered with any of this to understand that you had to do this because you didn’t pin the image to begin with, so your builds are not reproducible?

And this is anyone else’s problem why?

Re:Python 2 Removed from Debian by tolmasky on Tuesday January 03, 2023 @04:31PM (#34238367)
You are certainly making progress on the argument you believe you are having.

My point has always been simple: Python causes more pain than other languages when you're not directly using it. I can get node 0.10 on alpine 3.17 just fine. This demonstrates that your comparisons to server JS are completely wrong. But I know, you're going to tell me this is my problem and I expect the world to do work for me or something. Nope. As I've repeatedly stated, I've taken the time to get it to work already. I know you want to believe I'm here waiting for you to fix it, but I'm not. All I've said is: "Huh, I don't have this problem with anything else. I'll keep that in mind before I decide to use stuff from this ecosystem in the future".

Re:Python 2 Removed from Debian by orf on Tuesday January 03, 2023 @04:48PM (#34238584)
You can’t get node 0.10 on alpine Linux 3.17 from the official main repository. That 18.x/19.x. So you’re using a community one. And so, you could use a community python2 APK/install process. Except that doesn’t exist. Because nobody wants it. And you’re unwilling to make it yourself, thus you’re complaining that nobody else is maintaining this port for you.

The argument I’m making is none of your issues stem from Python specifically. As others have said, you are conflating your own confusion and unwillingness to understand with systemic toolchain issues that do exist. Except, you are not being bitten by those - you’re still at the “shoot myself in the foot and blame the gun” stage.

Re:Python 2 Removed from Debian by tolmasky on Tuesday January 03, 2023 @05:03PM (#34238741)
> You can’t get node 0.10 on alpine Linux 3.17 from the official main repository. That 18.x/19.x. So you’re using a community one. And so, you could use a community python2 APK/install process. Except that doesn’t exist.

What a slight of hand to say "You can get it the same way you can with node, except for you can't". You should go into politics. Anyways, you asked me for a simple example, I gave it, and now you want to say what I want doesn't count because "no one wants it". Just choose a different challenge next time.

> thus you’re complaining that nobody else is maintaining this port for you.

I'm just pointing out a discrepancy with other environments. One you initially denied existed, and once I trivially pointed out did exist, you switched to attacking the complaint itself. Look, if I'm looking at two toasters and one has less features, sure, you can bark at me and tell me to make my own toaster if I want that so bad. OK, sure. Or I'll just get the one that has the features I want. You are still allowed to believe that those features are useless, but you can't deny they exist. It is OK for you to disagree with the properties I value in an ecosystem, you don't have to resort to telling me I don't know what I'm doing just because I value a different set of properties in the ecosystem.

Re:Python 2 Removed from Debian by orf on Tuesday January 03, 2023 @05:09PM (#34238826)
You’re looking at two identical toasters from two different manufacturers.

Someone has glued on a big red alarm clock onto the side of one of the toasters.

Your conclusion after seeing this is to write to the manufacturer of the toaster without the alarm clock glued onto it and complain that it’s lacking a big red alarm clock and say they suck because they are not copying the amazing alarm clock features that the other manufacturer has.

Ok.

Re:Python 2 Removed from Debian by tolmasky on Tuesday January 03, 2023 @05:20PM (#34238964)
This is a fiction in your head. I’m not writing any manufacturer. I’m casually commenting on a forum that I’m pretty sure is not Python’s official complaint box. This is as ridiculous as yelling at someone at the bar who says “yeah, I don’t like to use Python that much”. The entire “thrust” of my “threat” to Python is that I’ll try to avoid it in the future. You’re blowing this way out of proportion. If I reacted this way whenever someone said something bad about JavaScript or Objective-C (which I promise you get way more “drive by” complaints), I don’t know what’d I do!
Re:Python 2 Removed from Debian by orf on Tuesday January 03, 2023 @05:26PM (#34239025)
Replace “write to the manufacturer” with “leave a review on Amazon”. The point doesn’t change.

Nobody is threatened by anything, and my point has nothing to do with Python.

If someone posts a comment saying “curl sucks! Every time I run it it just prints ‘command not found’” I’d of course try to tell them that’s not a fault with curl.

If they replied with “yes it is because I can’t figure out how to install it from this 3rd party site” then the discussion may become protected.

But ok, maybe we will agree to disagree.

Re:Python 2 Removed from Debian by tolmasky on Tuesday January 03, 2023 @05:34PM (#34239108)
No, you’d refuse to read the curl complaint because it’s too long, and instead arbitrarily decide that the entire discussion should hinge on issuing a challenge for them to find you one place where curl doesn’t work. And then when he does, you’d say “So what! No one wants curl there anyways!”

Afterwards you’d get involved in a long weird analogy discussion about two people arguing about git. But that fault would be shared by both of them.

Re:Python 2 Removed from Debian by pas on Tuesday January 03, 2023 @02:28PM (#34236700)
If Python changes affect you then by definition you are a user.

Python is basically in the same situation as Perl was a decade ago, with the added benefit of mainstream, living-breathing "success stories" like all the data science stuff (numpy, scikit-learn, etc), django, etc. (And Python seems to have a sufficiently large batch of pragmatic & progressive experiments that address various challenges facing users. Decades of effort went into scraping off the warts in areas like packaging, performance, stdlib ergonomics, etc. Python also successfully reformed its leadership.)

Re:Python 2 Removed from Debian by philistine on Tuesday January 03, 2023 @10:21PM (#34241614)
alert and blink don't make browsers stop working. They degrade gracefully, just like Pyhton doesn't.
Re:Python 2 Removed from Debian by gauddasa on Tuesday January 03, 2023 @02:35PM (#34236796)
It's ok. At least our children won't have to go through this dreaded dependency hell. Also, the role of Python 3 in popularizing Python was worth all the pain. Without version 3 it would not have been where it stands today.
Re:Python 2 Removed from Debian by dagw on Tuesday January 03, 2023 @05:33PM (#34239101)
Without version 3 it would not have been where it stands today.

I fail to see how that is true. Python was already catching on in a big way back during python 2.7 and I'd guess it probably lost at least 18 month worth of momentum building with python 2->3.

I'd say Pythons popularity today is at best unrelated to python 3.

Re:Python 2 Removed from Debian by pas on Tuesday January 03, 2023 @07:09PM (#34239987)
Python lost a lot more due to the constant flamewars about the transition, how many people wanted to just not care about py3 for many long years, etc.

languages that are actually growing in userbase/popularity are not static. this is hard to accept for many users of popular languages.

Re:Python 2 Removed from Debian by Apofis on Wednesday January 04, 2023 @07:47PM (#34254284)
I just avoid Python and any job descriptions that contain it. It's never been a good experience for me, whether as an end user or a developer. It's nice that they may have ironed out their issues, but I've been done a long time ago. There's nothing Python does I can't do better with some other toolchain.
Re:Python 2 Removed from Debian by still_grokking on Sunday January 08, 2023 @12:58PM (#34301346)
This is the top comment? In the year 2023?

OMG, that's a parody I hope!

Re:Python 2 Removed from Debian by lucyferzyr on Tuesday January 10, 2023 @03:20PM (#34330881)
I tried to learn Python around 2008-2009 and it was literally the worst time to try to learn Python, the transition to Python3 was just beginning, take 2 random code samples from the internet and they won't work together, python2to3 didn't work either.

It's kind of a shame how this transition took more than 10 years. The good part, we learned that we don't have to go through the same again. of course I dropped python (I was like 18 years old and didn't know anything about programming), I had to learn python last year and you still can see a lot of stuff that makes the experience kind of annoying.

Anyway, I'm pretty impressed how Python still is in the first positions of most charts, I still fail to see how great the language is, but hopefully I will be able to someday soon :)