5 ms·
>Python 2 is slowly being EOL'd and if you're starting a brand new Django project there's no reason on earth you should choose Python 2 anymore. Except that th
by IndianAstronaut 10y ago
>Python 2 is slowly being EOL'd and if you're starting a brand new Django project there's no reason on earth you should choose Python 2 anymore.
Except that there are still some critical packages that aren't on Python 3 yet. Not to mention a lot of functionality breaks even if the libraries do exist, which means you have to code things up quite differently sometimes.
- faitswulff 10y agoWhat critical packages still need to be ported to Python 3? Might be a fun project if they're open source.
- squeaky-clean 10y agoFor me, the google api client libraries, and AWS Lambda. That last one isn't totally Django related, but we use it for certain service calls, and it'd be nicer to be able to maintain one version of the language across the django app and related services. We ended writing a service in PHP to use Google's APIs, and are mostly using Scala or JS instead of Python for the Lambda services because this project is basically a ton of unicode mangling, and you can pry Python 3's sane unicode support from my cold dead hands! But the libraries still aren't totally perfect. It just takes on dependency being out of date to screw your plans.
- Alex3917 10y agoThe Google API Client is at least Python 3.4 compatible: https://github.com/google/google-api-python-client/ https://github.com/google/google-api-python-client/ I see only one Py3 bug is the open issues. And I think even their ancillary library Python Flags is now officially Py3 compatible, even though there has been a Py3 fork of it for years.
- squeaky-clean 10y agoNice! Looks that was just added in December, prior to that they had a statement saying it would probably work in 3.3+ but wasn't tested. I didn't mean the one literally called google-api-python-client though (forgot they had that, ha). The googleads-python-lib is the critical one for me. PyPI says it supports 3+, but do one search in the repo for "print" and you'll see that's clearly not true. Looking through the history, seems like they've claimed support for it for a while. We've tried it twice and had issues both times, though I never tried it in Py2, so maybe it just has problems in general.
- tedmiston 10y agoI agree on Lambda. There's a "hack" of running Python 3 on AWS Lambda via subprocess until it's officially supported. http://stackoverflow.com/questions/36143563/using-python-3-with-aws-lamba http://stackoverflow.com/questions/36143563/using-python-3-w...
- viraptor 10y agoAlmost everything critical that's still holding out has a good reason for it. For example Twisted is being ported... slowly.
- lima 10y agoMuch of Twisted already works on Python 3 even though they're not done porting yet!
- problems 10y agoIDAPython (the python scripting plugin included with IDA Pro) still only supports Python 2.7.
- orf 10y agoThen contact IDA and ask when they are releasing a python3 version of their package. Your a paying customer after all...
- deleted 10y ago[deleted]
- collinmanderson 10y agoThere's a long list here. Feel free to dive in! :) http://fedora.portingdb.xyz/ http://fedora.portingdb.xyz/ Included in the list: nodejs, chromium, trac, bugzilla, bazaar
- toyg 10y ago> some critical packages that aren't on Python 3 yet [citation needed] Pretty much all critical packages now work on 3, as witnessed by the Wall of Superpowers. Maybe some django-specific lib is still 2-only? In which case, rewrites/forks should be relatively trivial and I'm even happy to have a look myself.
- kevin_thibedeau 10y agoThat argument has grown stale. If the devs of your favorite package are still too lazy to port to Py3 there are bigger issues with the existing code you should be concerned about. 2to3 fixes most everything other than a few incompatible changes to the stdlib API. http://py3readiness.org/ http://py3readiness.org/
- metaphorm 10y agowhich critical packages? https://python3wos.appspot.com/ https://python3wos.appspot.com/ almost everything on the list has gone green now
- urda 10y ago1) Super super SUPER old argument (that's completely wrong and out of date FWIW) 2) Let's see some proof of your argument, because many packages and platforms are happily supporting Python 3 now. Put your money where your mouth is.
- IndianAstronaut 10y agoStill having issues with AWS related packages not being fully ported. A lot of our workflows in Pandas broke. It operates quite differently in Python 3 for certain operations like typing data frames which messed up some of our ETL. Also, more explicit encoding was needed.
- simplyluke 10y agoAgree. The argument was semi-relevant but on the way out when I learned to program 6 years ago. If in half a decade things haven't been ported there are more serious issues.