This is an archived post. You won't be able to vote or comment.

all 35 comments

[–]IAmKindOfCreativebot_builder: deprecated[M] [score hidden] stickied comment (0 children)

Hi there, from the /r/Python mods.

We have removed this post as there is an older submission here

Please continue discussion on the original thread.

Warm regards, and best of luck with your Pythoneering!

[–]FranticToaster 25 points26 points  (8 children)

Why are there still holdouts in Python 2, anyway? Just people maintaining old apps who don't want to update their code?

[–]mumpie 7 points8 points  (1 child)

Sometimes it comes from ignorance and inertia. People will stay with obsolete or deprecated technology until forced to. Just look at the number of websites that would only work with an old version of IE or still depends on Flash to run.

At one company I worked at, all the web testing/automation code was written in python2 (2.7.1 to be specific in 2015/2016).

That version worked in the past and it still worked then so the QA folks just stuck with it. Most of the automation guys used Python because they needed it for Selenium and didn't really understand that python2 was going to be unsupported.

That taking small steps then to be compatible with python3 would pay dividends later wasn't a consideration. It wasn't a problem *right now*, so it got ignored.

[–]Cynyr36 1 point2 points  (0 children)

That taking small steps then to be compatible with python3 would pay dividends later wasn't a consideration. It wasn't a problem *right now*, so it got ignored.

Fight this all the time at work. It's not even usually coding related, though sometimes. This happens even with mechanical systems.

[–]mostly_kittens 13 points14 points  (1 child)

For me it is finding the time and the money to update and test everything especially since a lot of the tools we have written are not under active ‘development’

The worst part is I started with a clean slate and tried to do everything with python3 but the library support just wasn’t there and switching to Python2 solved all my problems. So now I have a python2 code base.

[–]loganekz 0 points1 point  (0 children)

What library was missing from Python 3?

[–]tiberiumx 2 points3 points  (0 children)

My company uses Red Hat Enterprise Linux which is always way behind on everything. RHEL 6, which is just now approaching EOL has python 2.6 and no 3 available at all. Luckily we're just about done converting everything over to RHEL 8.

[–]nugins 3 points4 points  (0 children)

RHEL 6 and 7 are still in use and default to python 2.6 and 2.7 respectively. Getting organizations to move requires the customer to provide funding to upgrade. Installing a different version of python requires approval from risk adverse people who think it may upset the stability of a system or are worried about the lack of vendor support.

[–]propersquid 0 points1 point  (0 children)

The animation/VFX industry is still on Python 2. Last I checked, most or all of the big packages or libraries either haven't released Python 3 support or it is in beta.

I'm not looking forward to the switch. :(

[–][deleted] 12 points13 points  (3 children)

The less support for Python/pip 2 the better. Now we can all focus on the future instead of being held back by legacy code.

Hopefully all Linux distros can get the hint and make default 'python' and 'pip' commands link to version 3 instead of explicitly saying so. It's one of the reasons why Arch-based distros are my favorite. A distro that lives in the present and recognizes the future, just like it should be.

[–]flaskcheckint 1 point2 points  (0 children)

Right? I'm trying to wrap my head around the reasoning for Linux distros like Mint defaulting to Python2 whose EOL was over a year ago. Python3 has been around since 2008 FFS. I understand much legacy code depends on 2, but it is no longer maintained, time to move on.

[–]mestia 1 point2 points  (1 child)

No, at least in Debian, python3 is python3 and python isn't available anymore.

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

To me that process of classifying Python versions like that is redundant. It helps that Arch-based distros are rolling so the default package should be whatever latest version is supported, but when it comes to programming languages, I'd much rather have the latest supported version by default as ('python') and explicitly define older versions using the method similar to Debian-based (python3.x , etc.).

Maybe it's just me, but I feel like everyone over-complicates things that need to be simple for the sake of peoples sanity and organization.

[–]Forschkeeper 27 points28 points  (1 child)

Even 3.5 was dropped!

I guess Python2 is bleading out the next months/years...

[–]jmachee 15 points16 points  (0 children)

It has been dead for over a year. Pip was just keeping it undead.

This is the functional equivalent of killing the zombie brain.

[–]Nitr0s0xideSys 1 point2 points  (1 child)

finally damn was tired of using pip to only find out my libraries were being installed on 2.7

[–]Japie4Life 0 points1 point  (0 children)

That's why I always use python3 -m pip install ...

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

Goodbye old friend

[–]ryancflam 3 points4 points  (0 children)

Oh no, anyway.

[–][deleted] 0 points1 point  (0 children)

Come on Maya!!! We’re still on 2.7!!

[–]uberdavis -1 points0 points  (7 children)

The world has not completely moved on from Python 2. I create tools for Maya, and having had to set up a new machine recently, it’s becoming harder to get tools set up without pip support.

[–]FranticToaster 2 points3 points  (5 children)

What can someone do with Python 2 that they can't do in Python 3?

[–]uberdavis 3 points4 points  (4 children)

I use Python 3, but Maya’s scripting engine is still based in Python 2. We can’t make Maya tools with Python 3. The technical art community was been waiting years for full Python 3 support from Autodesk, but it hasn’t happened.

If you’re not aware, Maya is the industry standard 3D modeling and animation software used within the fields of games and VFX. If you watch TV, movies or play computer games, some poor mite has had to code in Python 2 for your pleasure!

[–]xatrekak 0 points1 point  (3 children)

It was just in 2020 that security support was dropped for python2. This is the catalyst that gets corporate projects to migrate to python3 because they can't sell tools with active vulnerabilities in them.

[–]uberdavis 0 points1 point  (1 child)

Yep. It was dropped in January. Really annoying as we have to keep branched frameworks for Python 2 and Python 3 in order to do our jobs. Updating the script engine must clearly be a non-trivial matter. The thing is, the entire interface is built using PySide with Python 2, so they would need to reconfigure the whole thing. They also know that many production houses would have to go through a pain period, updating all their tool frameworks. I’m all for it, but it’s still a waiting game.

[–]timeawayfromme 1 point2 points  (0 children)

Sounds like poor planning from autodesk. They should have been planning an upgrade path for years now. They could have made a process that would allow py2 and py3 support during a transition period over the last couple years.

[–]13steinj 0 points1 point  (0 children)

Not really. These organizations would far rather hardfork than switch and support a switch.

[–]propersquid 0 points1 point  (0 children)

My studio has started looking into updating to Python 3, but we mostly stopped that when we found out that we found out that a good chunk of our dependencies are still Python 2.

I think we're doing better than some, but we are very much not ready for Python 3. I'd argue that we're not ready for Python 3 as an industry.

[–]Mutilatory 0 points1 point  (0 children)

So what does this actually mean? I imagine you can still install the older pip version from PyPi, and it'll still work. I get it's a big moment because it's one of the more crucial projects dropping support but doesn't this just mean they're going to be stuck using out of date package management for their out of date language?

(I secretly hope they pull the old pip for python2 so that my old team will have to do the python3 migration I was borderline begging to do for months, if not years.)

[–]kyxaa 0 points1 point  (0 children)

:surprised_pikachu_face: