[Python-Dev] email package status in 3.X

Terry Reedy tjreedy at udel.edu
Sun Jun 20 23:30:50 CEST 2010


On 6/20/2010 8:26 AM, Giampaolo Rodolà wrote:

> I attempted to port pyftpdlib to python 3 several times and the
> biggest show stopper has always been the bytes / string difference
> introduced by Python 3 which forces you to *know* and *use* Unicode
> every time you deal with some text and 2to3 is completely useless
> here.

I believe the advice in the wiki porting page is to use unicode() and 
bytes() but never str(), in a version that runs in 2.6. Then 2to3 should 
do fine. For 2.5-, add 'bytes = str' somewhere.

2to3 still gets patches, I believe, when someone exhibits code that 
could and ought to be converted but is not.

I suspect that if you posted 'Problems porting pyftpdlib to Python3', 
you would get some help. If it involved inadequacies in the current 
tools and guides, it would to be be on-topic here. Or try python-list.

> The choice of forcing the user to use Unicode and "think in Unicode"
> was a very brave one, and I'm sure it's for the better, but not
> everyone wants to deal with that because Unicode is hard to swallow.

I felt that way until my daughter decided to switch from Spanish to 
Japanese for here foreign language. Once I quit fighting it, it because 
much easier to swallow and learn. As it turns out, thinking in Unicode 
is a pretty straightforward generalization of thinking in ascii. There 
are some annoying glitches due to the need to accomodate legacy systems. 
The plethora of legacy encodings for various subsets, besides ascii, is 
also a nuisance.

> The majority of people

who use latin-char alphabets

> prefer to stay with bytes and eventually learn
> and introduce Unicode only when that is actually needed.

The example at
http://code.google.com/p/pyftpdlib/
uses names and filenames. Without unicode, these are restricted to 
ascii, unless you use multiple encodings, which to me would be worse.

Terry Jan Reedy




More information about the Python-Dev mailing list