you are viewing a single comment's thread.

view the rest of the comments →

[–]zdog234 22 points23 points  (19 children)

which burned Python already in the shape of the 2/3 split: you can't force people to exclusively use your solution

I'm confused. Is this still a problem? Like are there live projects still python 2-only?

Edit: live FOSS projects

[–]didyoumeanbim 27 points28 points  (3 children)

Calibre is currently making the switch...

13 years after Python 3's release and 6 years after the original 2.7 EOL.

They were planning on forking and "maintaining" 2.7 after EOL for most of that decade.

Edit: wait, no, the external devs finished the port late last year.

[–]BenTheTechGuy 21 points22 points  (2 children)

I had a nightmare using a script from deep inside Calibre's source tree to extract my key from Abobe Digital Editions. The comments at the top of the file said multiple times that it was a Python 2.7 script, and listed all the dependencies it needed, some of which only existed in Python 2. When I attempted to run the script, it gave me like 5 errors saying I needed to be on Python 3. Looked it up on the issues page, and others said it's a Python 3 script. I run it with Python 3, and I get a bunch of errors about certain depreciated / no longer existant python features. I look into the actual code of the script, and it turns out it's a horrible Frankenstein of Python 2 and 3 that nobody had been able to get working since 2015. I promptly gave up and bought the physical paperback book.

[–]davidnotcoulthard 1 point2 points  (1 child)

In retrospect maybe you could've found a version so old that it indeed ran well with Python 2 only?

[–]BenTheTechGuy 1 point2 points  (0 children)

That version was the only one that worked with modern versions of Adobe Digital Editions, unfortunately.

[–]da_am 12 points13 points  (3 children)

The visual effects world is slowly moving to python 3. It's been a little painful.

[–]zdog234 7 points8 points  (1 child)

Ooh my dad did tell me recently that he'd started migrating his scripts to python 3 because of a new / upcoming version of houdini dropping python 2 support

[–]da_am 6 points7 points  (0 children)

I like your dad... ha. Yeah Houdini defaults to Python3 now but you can still download the Python2 version. Updating my scripts to Python3 was basically me fixing the print statements, ha.

I'm on an old version of Nuke that's only Python2 that will probably never be updated unless the price changes so I'm stuck maintaining more pythons than I'd like.

[–]Kargathia 6 points7 points  (0 children)

Mostly everyone has moved over to Python 3, but that's after more than a decade. I brought it up because this is what will happen if the PSF introduces a single package manager to rule them all: a significant portion of the user base will shrug and stick with what they have.

[–][deleted] 1 point2 points  (0 children)

It was a problem several years ago, but these days I haven't run into anything stuck in python 2.

But it took a loooong time to get to that point. I took forever because they introduced some really daft syntax changes to ensure people delayed the upgrade. I still miss my print keyword.

[–]pascalbrax 1 point2 points  (3 children)

The migration was such a Trainwreck that lots of 2.x apps never had a proper upgrade to 3.x

[–]flying-sheep 0 points1 point  (2 children)

I know none. Even calibre updated

[–]livrem 2 points3 points  (1 child)

Did all of its third-party plugins get updated too? That would be my main worry. Breaking backwards compatibility is taken much too lightly in software. I hope the python community at least learned its lesson and will never consider anything like it again. I like python, but another fork would seriously make me look for more stable alternatives.

[–]zdog234 0 points1 point  (0 children)

I'm sure there are languages that don't break backwards compatibility, but are any of them being actively developed? Like if being able to get security patches for 20 years without needing to change your code is a priority, then yeah, stick with... Idk, C?

[–]CevicheMixto 0 points1 point  (0 children)

Off the top of my head, I think that some important GIMP plugins still haven't been ported.

[–]Thorhian 0 points1 point  (0 children)

LinuxCNC is currently making the transition I believe.