Re:Removing Python 2.x support from Django for version 2.0
by nodamage on Thursday January 19, 2017 @06:08AM
(#13434828)
I'm fairly sure I'm handling strings correctly under Python 2. What I'm not sure of is the risk of something breaking if I upgrade to Python 3, especially when it comes to upgrading external dependencies. Even if it's just non-backwards compatible API changes, it's more risk to deal with.
[ Parent
| on HN ]
Re:Removing Python 2.x support from Django for version 2.0
by rtpg on Thursday January 19, 2017 @07:55AM
(#13435353)
You're fairly certain, but with Python 3 you can be completely certain. That's the magic of it.
Python 2 will allow this to sometimes work, Python 3 will make sure this never works, because there's a bytes/text mismatch. It's nice to rule out entire classes of bugs like this
from sys import argv
import json
with open(argv[1], 'rb') as f:
json.loads(f.read())
Porting is still difficult. But when we ported from Py2 to Py3, we found a couple issues like this (despite dealing with weird encodings all the time).
Re:Removing Python 2.x support from Django for version 2.0
by lima on Thursday January 19, 2017 @10:18AM
(#13436398)
Exactly this. When I ported my stuff to Python 3, I fixed many encoding bugs in the process.
You can do this correctly in Python 2, it's just much harder.
Re:Removing Python 2.x support from Django for version 2.0
by criddell on Thursday January 19, 2017 @08:50AM
(#13435707)
Do you think you will ever have to move to Python 3?
Re:Removing Python 2.x support from Django for version 2.0
by nodamage on Thursday January 19, 2017 @04:16PM
(#13439572)
I don't know. I will probably try to by 2020 once it gets officially EOLed. Until then I have plenty of other work to do.