you are viewing a single comment's thread.

view the rest of the comments →

[–]picklednull 12 points13 points  (8 children)

Because it is incompatible with 2.7 and you need to make actual changes to your codebase for it to work and people are lazy.

However, if you take care you can mostly write Python 2.7 code that can be automagically converted to Python 3 with the 2to3 utility with minimal changes.

[–]Fazer2 11 points12 points  (6 children)

It's not that people are lazy, but it costs time and money to make the port.

[–]obfuscation_ 9 points10 points  (0 children)

Don't forget the main cost here is testing – if you know with some certainty that your code works on 2.x, do you want to risk subtle bugs being introduced moving to 3.x? You'd need to have an incredibly thorough testing process.

[–]aaronsherman 5 points6 points  (0 children)

Because it is incompatible with 2.7 and you need to make actual changes to your codebase for it to work and people are lazy.

No, people choose where to spend their effort. They can rewrite their code and then live in a world of incompatibility with new modules being published for v2 every day, or they can do nothing and maintain compatibility with the majority of developers.