Kenneth Miller wrote:
Thanks for the reply.
Would you mind elaborating?
Execing explicitly in locals solves the problem for Python 2.6:
>>> def f():
... a = 1
... exec 'g = lambda: a' in locals()
... return g
...
>>> g = f()
>>> g()
1
>>>
I don't think this would work in Python 3.0 though.
See this discussion on Python-dev for some of the issues:
http://mail.python.org/pipermail/python-dev/2008-October/082938.html
Michael
Regards,
Ken
On Nov 4, 2008, at 8:47 AM, Michael Foord wrote:
Kenneth Miller wrote:
All,
The problem is illustrated here:
This code will work properly:
http://paste.pocoo.org/show/90071/
This code produces an error:
http://paste.pocoo.org/show/90072/
Different issue. Exec'ing explicitly inside a namespace avoids that
problem altogether.
Michael
Regards,
Ken
On Nov 4, 2008, at 4:42 AM, Michael Foord wrote:
Kenneth Miller wrote:
It was proven to me that while exec might work for simple cases,
more advanced usage (declaring a lambda function inside an exec)
can be problematic. It was advised that I generate python modules
and dynamically import them. If memory served me, it's not
possible to import a module from a string object.
I have often generated (or loaded code into a string) and then
exec'd it into a module dict to create modules at runtime. It is a
relatively normal technique in Python.
Michael
Thanks.
- Ken
On Nov 4, 2008, at 12:45 AM, "Curt Hagenlocher"
<[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
<mailto:[EMAIL PROTECTED]> <mailto:[EMAIL PROTECTED]>> wrote:
You should be able to do this all in-memory:
>>> import sys
>>> foo = type(sys)('foo')
>>> sys.modules['foo'] = foo
>>> exec 'a = 1' in foo.__dict__
>>> foo.a
1
>>>
There's probably a better ("more Pythonic") way to do this, but
I'm sleepy...
On Mon, Nov 3, 2008 at 11:40 PM, Kenneth Miller
<[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
<mailto:[EMAIL PROTECTED]> <mailto:[EMAIL PROTECTED]>> wrote:
All,
Is it possible to have python load modules from the silverlight
isolated storage? My app needs to dynamically generate and import
python code to run.
Regards,
Ken
_______________________________________________
Users mailing list
[email protected] <mailto:[email protected]>
<mailto:[email protected]>
<mailto:[email protected]>
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
_______________________________________________
Users mailing list
[email protected] <mailto:[email protected]>
<mailto:[email protected]>
<mailto:[email protected]>
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
------------------------------------------------------------------------
_______________________________________________
Users mailing list
[email protected] <mailto:[email protected]>
<mailto:[email protected]>
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
--
http://www.ironpythoninaction.com/
http://www.voidspace.org.uk/blog
_______________________________________________
Users mailing list
[email protected] <mailto:[email protected]>
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
------------------------------------------------------------------------
_______________________________________________
Users mailing list
[email protected] <mailto:[email protected]>
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
--
http://www.ironpythoninaction.com/
http://www.voidspace.org.uk/blog
_______________________________________________
Users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
------------------------------------------------------------------------
_______________________________________________
Users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
--
http://www.ironpythoninaction.com/
http://www.voidspace.org.uk/blog
_______________________________________________
Users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com