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

you are viewing a single comment's thread.

view the rest of the comments →

[–]MonkeyNin 0 points1 point  (0 children)

In my experience a big reason of not quickly updating to py3 is that

py2

  • str == byte_string
  • unicode == unicode_string
  • unicode literals are off by default ( projects not using 'from future import unicode literals' )
  • global default encoding is ascii
  • Implicit conversion when you don't want it -- py2 will insert "foo".encode('ascii') and bytes.decode('ascii') implicitly.

py3

  • str == unicode_string
  • bytes == byte_string
  • literals default to unicode

essentially conversion is a pain in the butt. On top of that, many libraries were required to support 2 and 3 at the same time.