On Tue, Nov 19, 2002 at 01:54:56PM -0500, Guido van Rossum wrote:
Since I don't actually use Zope 2.6, does anyone have an idea on where the problem may come from ?
You're using restricted mode (the rexec module) and this apparently doesn't provide sys.hexversion. This is a shallow bug; it's already fixed in Python 2.3 (CVS). ... Probably those versions of Python didn't have the test for sys.hexversion; it's testing whether this is Python 2.2 or higher.
A workaround would be to set sys.hexversion to 0x02020000 (or to 0 if you're not sure which Python version you're using) before importing sre for the first time.
Thanks for your answer.
Unfortunately I never import sre.
I import re, then rexec in the main program, then in the restricted code I add the os and os.path modules, and the resticted code then import the glob modules and calls its glob method.
So should I set sys.hexversion *before* my re and rexec imports in the main program, or add the sys module and a fake hexversion value in the restricted code ?
In the restricted code, right at the start. Restricted code loads its own copy of each module it uses. The glob module uses re, which uses sre. --Guido van Rossum (home page: http://www.python.org/~guido/)