6 ms·
Anybody knows what´s the state of python 3 right now? I mean, are there popular libraries and frameworks that still uses python 2? Or this is no longer an issu
by leojg 10y ago
Anybody knows what´s the state of python 3 right now? I mean, are there popular libraries and frameworks that still uses python 2?
Or this is no longer an issue?
- dwightgunning 10y agoThe amount of pain you'll experience is dependent on your area of work. E.g. web-dev, systems, science. Most certainly use Python3 for any new projects. Here's a quick overview of the most popular PyPI packages and their support for Python 3: http://py3readiness.org/ http://py3readiness.org/
- bendmorris 10y agoMost? Do you have a source for that? As a counterpoint, this JetBrains survey [1] shows only 40% of Python users ever use Python 3. Considering it has been eight years since the initial release, that's a very low share. [1]
- xapata 10y agoSounds like a healthy portion to me in comparison to other major software upgrades. The original expectation was about 5 years before the shift started. Seems like we're mildly behind the expected schedule. After it was released, it'd be only the early adopters for a couple years, then the major libraries would follow a few years after. After 5ish years, the big libraries were ported and the second wave of early adopters could shift over. Now we'll start seeing major enterprises make the move over the next few years. Facebook already made the change, but they're tech-forward. How many people use old versions of RHEL? Of Windows?
- bendmorris 10y ago(missed the survey link: https://www.jetbrains.com/pycharm/python-developers-survey-2016/ https://www.jetbrains.com/pycharm/python-developers-survey-2...)
- epoch1970 10y agoI think you may have misinterpreted what was meant by the "Most certainly use Python3 for any new projects." sentence. I don't think it's using "Most certainly" in the sense of "Most developers using Python use Python 3 for any new projects.", like you appear to be thinking it says. Rather, it appears to be saying, "Without any doubt, if you're using Python use Python 3 for any new projects." It appears to be a statement regarding the suitability of Python 3 for new projects, rather than some quantitative claim regarding the number of users of Python 3.
- dwightgunning 10y agoCorrect. Sorry for the ambiguity.
- msoucy 10y agoAccording to the Python 3 Wall of Superpowers[1], almost every commonly-used library has adopted 3. Now the problem is getting people to realize that... I was talking with someone just a month ago who said that there were no numeric processing libraries on 3 and so they couldn't switch. [1]: https://python3wos.appspot.com/ https://python3wos.appspot.com/
- cbcoutinho 10y agoWhat is a numeric processing library? Numpy?
- goatlover 10y agoAlso SciPy, SymPy, and Pandas. They've supported Python 3 for several years.
- cbcoutinho 10y agoMy comment was kind of a loaded question. If they consider Numpy a numeric package, then yes, it's been there for a while and they haven't been paying attention. That includes the packages you mentioned as well
- bendmorris 10y ago>Now the problem is getting people to realize that... I realize it, but (1) even after large libraries support 3 there will still be a long tail of libraries that aren't ported (and will never be), and (2) I see very little value in porting our very large code bases to Python 3, with its breaking changes and subtle behavioral differences that need to be thoroughly tested. There's no must-have feature for us to justify that effort, so we won't be making the switch for the foreseeable future. IMO Python should have put a lot more effort into backwards compatibility when releasing Python 3. I'm genuinely concerned that this release has killed Python, and I'm not alone.
- kstrauser 10y ago
- gh1 10y agoYou can see this recently submitted link [0] which tries to answer this question in depth. I believe that python 3 readiness[1] and python 3 wall of superpowers[2] are good indicators of the overall trend towards Python 3 adoption, but the sample size of packages considered in these two websites are not big enough to provide a complete picture of the situation. [0] https://news.ycombinator.com/item?id=13244627 https://news.ycombinator.com/item?id=13244627 [1] http://py3readiness.org/ http://py3readiness.org/ [2] https://python3wos.appspot.com/ https://python3wos.appspot.com/
- squeaky-clean 10y agoThe majority of the largest libraries support 2 and 3. It's become a very small issue for me. I still need to "fall back" to python 2 occasionally though when a vendor doesn't support 3. Namely for me, I need to use the google-ads client library and AWS Lambda, neither of which support Py3. However the majority of my projects are Py3.
- deleted 10y ago[deleted]
- baq 10y agoperception of python 3 is really bad compared to the actual state, especially for those groups that look at py3 every 5 years and assume nothing changes in between checks. the truth is that if you're in the 95th percentile, library support a non-issue.
- thijsvandien 10y agoOpenCV is still a pain. While technically the latest major version is able to work with Python 3, it is relatively unstable and all samples/tutorials out there are for the previous major version.
- jerknextdoor 10y agoI'm not sure what issues you've been having, but I've been using, OpenCV with 3.5 for over a year with no problems. The docs are out of fate, but that's because the code is all auto-generated.
- lmm 10y agoThere are now more python3-only libraries than python2-only libraries.
- softwarelimits 10y agoThe real problem is that there are "only" libraries at all - too many of them. It kills the python ecosystem in a really disgusting way.
- lmm 10y agoNo need to be rude. Libraries can't reasonably be expected to support old versions of the language indefinitely - languages have to be able to grow and evolve or they will die.
- kstrauser 10y agoI disagree. I wouldn't bother writing a Python 2-compatible library today. I mean, if something I wrote happens to work with it, cool!, but I wouldn't expend non-zero effort making that happen. That's especially true for anything involving async or other new language features that would be a PITA to backward-compatibly support. IMHO, what kills the Python ecosystem is people attempting to stay on a 6+ year old major version when they've been told repeatedly that it's officially dead. Upgrading to Python 3 isn't exactly like porting from Java to OCaml, and writing new code in Python 2 today seems flat-out negligent to me.
- sandGorgon 10y agoFor us (and a crazy ton of systems people who dont even use python for application code), the "supervisor" incompatibility is a blocker. supervisord is one of the most useful tools to run production systems.. and is more relevant when we look at the Docker world. A port of supervisord is something we would gladly donate to :( Unfortunately, I think the maintainers are handicapped by py3 expertise - https://github.com/Supervisor/supervisor/labels/python%203 https://github.com/Supervisor/supervisor/labels/python%203 Supervisor has some major issues on Python 3. Many of these issues are encoding related as well so merging this one patch doesn't move the needle much. We need someone who has strong experience in Python 2/3 porting and is willing to spend a non-trivial amount of time looking at these bytes/strings issues together. https://github.com/Supervisor/supervisor/pull/471#issuecomment-267793117 https://github.com/Supervisor/supervisor/pull/471#issuecomme...
- mixmastamyk 10y agoIt is standalone though, not a library, and should not be an impediment to others, unless I'm missing something.
- sandGorgon 10y agoAnd that's why everyone goes back to "we are most definitely not using TWO Python versions. Since everything works on 2.7, let's stay there)"
- mixmastamyk 10y agoBeen using 3.x for a few years now, 3.6 is about to seal the deal.