I've come across two curious behaviours of a function using custom globals.
In both cases, I have a function where __globals__ is set to a ChainMap.

In the first, the builtin __import__ appears to both exist and not-exist at
the same time: I can see the __import__ builtin, but the `import` statement
fails with:

    ImportError: __import__ not found


In the second, I can use `global` to declare a name in the global scope,
apparently assign to it, but then the name doesn't exist.

Attached is a single demo script which demonstrates the problems, for Python
3.


I think both of these are bugs, or at least they are bugs if
function.__globals__ is allowed to be set to something other than the
module globals.

Have I missed something? Is there documentation that says I shouldn't
replace __globals__ with another dict?

Is there a bug in my code?

If not, I think these are both bugs. Does anyone disagree?



-- 
Steven

-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to