lennart regebro hyiffbigmailcom thu mar 20 2008 702 pm martin v löwis wrote lennart regebro schrieb thu mar 20 2008 550 pm thomas wouters wrote itll much better job tryandpray may matter code really suggest relying use 2to3 case try pray 2to3 realistic option please try explain words realistic option still dont get ok ill try recommended path porting python code python 30 use tool called 2to3 convert code python 2x code 3x code need support 2x 30 maintain code 2x code convert 3x code test make new release make two separate releases one 2x one 30 use case works code maintained small set maintainers regularly released large set users access code repository ideal situation isnt always fulfilled strategy well optimized develop library type modules others many cases code developed within larger organisations within large communities like zope plone suspect true communities turbogears django many people instead working code base time many people working large set modules using direct svn checkouts development productsite need module discover bugs add features module also wildly varying experience levels python knowledge either people modules need switch 30 time unrealistic run 26 run 30 means modules need support 26 30 2to3 strategy case means everybody wants go 30 needs two complete development environments every instance software need basically every website develop would need one instance runs 26 one 30 even though code developed would run 30 26 custom particular website developer would check 26 code 26 site change test change run 2to3 copying code 30 instance test basically sort code change matter minor requires change test copy 2to3 test dance instead normal change test doubles effort making change since testing web often means testing sort browser zopetestbrowser selenium like means restarting webserver running tests running tests often takes significant time end result people move python 3 long need sort thirdparty product plone collective similar set modules going much work everybody stay 2x means incentive port thirdparty products 30 becomes chicken egg catch 22 problem best case means python 3 dies nobody uses yes best case horrible case agree worst case community splits two dangerous python whole python may survive split two communities would negative community whole zope problem zope 2 zope 3 therefore much forwards compatibility python 26 run reasonable set python code 26 30 would good thing enables us either make clean break running 2to3 dropping 2x support supporting writing compatible code bit extra effort perhaps always work supporting writing 26 code using 2to3 support 30 lot extra effort work almost cases get doomsday mode good news first 26a1 already contains lot forwards compatibility __future__ import print_function adds compatibility horrible complete compatibility break worried might never happen needed pretty much __future__ import unicode_string_literals far im concerned set reason even forwards compatibility couldnt added 27 turns needed however people move 30 quickly 2630 compatible hybrid 27 additions needed hope clarifies things lennart regebro zope plone consulting httpwwwcollibertycom 33 661 58 14 64 _______________________________________________ python3000 mailing list smsbmo9552pythonorg httpmailpythonorgmailmanlistinfopython3000 unsubscribe httpmailpythonorgmailmanoptionspython3000python300040tangomucom wed 06 aug 2008 181639 0100 python3000 utext alias text