[Python-Dev] deleting setdefaultencoding iin site.py is evil

Chris Withers chris at simplistix.co.uk
Tue Aug 25 18:08:05 CEST 2009

Hi All,

Would anyone object if I removed the deletion of of 
sys.setdefaultencoding in site.py?

I'm guessing "yes!" so thought I'd state my reasons now:

This deletion appears to be pretty flimsy; reload(sys) and you have it 
back. Which is lucky, because I need it after it's been deleted...

Why? Well, because you can no longer put sitecustomize.py in a 
project-specific location (http://bugs.python.org/issue1734860) and 
because for some projects the only way I can deal with encoded strings 
sensibly is to use setdefaultencoding, in my case at the start of a 
script generated by zc.buildout's zc.recipe.egg (I *know* all the 
encodings in this project are utf-8, but I don't want to go playing 
whack-a-mole with whatever modules this rather large project uses that 
haven't been made properly unicode aware).

Yes, it needs to be used as early as possible, and the docs should say 
this, but deleting it seems to be petty in terms of stopping its use 
when sitecustomize.py is too early and too system-wide and spraying 
.decode('utf-8')'s all over a code base made up of a load of eggs 
managed by buildout simply isn't feasible...



Simplistix - Content Management, Batch Processing & Python Consulting
            - http://www.simplistix.co.uk

More information about the Python-Dev mailing list