Python Software Foundation survey finds that a significant number of Python developers are still using Python 2 for data analysis, computer graphics, and devops.
Both. There are many breaking changes that can make your code completely incompatible. Some people won't bother to port their code. Others could be using an obscure or niche library that hasn't been updated for 3 and can't port their code.
Third category, software provided as part of an ancient service contract that nobody is allowed to touch, even though the service partner stopped offering support for this particular software years ago. Ask me how I know
At the old job I was using IronPython (2.7) to write Grasshopper plug-ins in the Rhino CAD software. Luckily, it was mostly responsible for kicking off Python3 and Go subprocesses.
Now, the worst I’m stuck with is 3.8 for one of our repos using PyTorch.