M.-A. Lemburg wrote:
Let's look at this from another angle: sys.setdefaultencoding()
is only made available for use in site.py.
...see this:
http://mail.python.org/pipermail/python-dev/2009-August/091391.html
I would like to use sitecustomize.py for all the very good reasons given
in this thread:
- I don't want to change the default encoding for every project that
uses the python installation in question
- I don't even want to change the default encoding for every python
script run by the current user
- I only want to change the default encoding for one particular project.
Sadly, for the reasons I describe in the thread, site.py won't find a
sitecustomize.py in this situation...
If you use it anywhere else, you're on your own.
No problem with that. To be specific, this is a Zope 2.12 instance
driven by this buildout:
[instance]
recipe = zc.recipe.egg
eggs = ${buildout:eggs}
interpreter = py
entry-points=
runzope=Zope2.Startup.run:run
zopectl=Zope2.Startup.zopectl:main
scripts = runzope zopectl
initialization =
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
sys.argv[1:1] = ['-C','${buildout:directory}/etc/instance.conf']
The call to sys.setdefaultencoding is *very* early in the scheme of
things... The runzope script that gets run only has some sys.path
manipulation before sys.setdefaultencoding gets called. What problems
could there be by calling sys.setdefaultencoding there?
Such usage
is not supported and may very well break your interpreter
Can you give an example?
or
cause data corruption (the default encoded versions of Unicode
objects are cached inside the objects).
When called as early as in the above script, what objects would have
encoded strings cached in them?
Now, in your particular case, you're probably better off just
tweaking site.py directly in your custom Python interpreter
rather than relying on sitecustomize.py (see setencoding() in
site.py).
Why?
Chris
--
Simplistix - Content Management, Batch Processing & Python Consulting
- http://www.simplistix.co.uk
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com