[IPython-user] access to __main__
Jean-Francois Moulin
jfrancis18@gmail....
Wed Oct 7 07:32:57 CDT 2009
Hi!
a maybe stupid namespace question....
I am trying to launch some configuration scripts (for an instrument we
control with python) at ipython's startup, to avoid the burden of typing
run foo.py at each startup (foo is actually a long list of foos and bars)
I used a specific ipythonrc-myenv configuration file which includes a
execfile ./nicos/refsansstartup_ipy.py statement.
ipython -pylab -profile myenv crashes with the following
....
67 import __main__
68
#---------------------------------------------------------------------------
---> 69 Developing = __main__.Developing
70 readonly = __main__.readonly
71 fake = __main__.fake
AttributeError: 'FakeModule' object has no attribute 'Developing'
WARNING: Failure executing file: <./nicos/refsansstartup_ipy.py>
So it seems that I do not have access to the 'real' __main__ where these
flags are created.
I have previously been playing with the ipython user space but I am a
bit puzzled here because if, in interactive mode I type
run ./nicos/refsansstartup_ipy.py everything runs fine... (which as far
as i remember was not the case last time I had to look in ipython's user
namespace). It is even more so puzzling for me when I think that I
should have used run -i to access the interactive variables.... (should
not I ?)
Side comment, if you have a strong opinion or tips about sharing global
flags across modules, please express yourself but please note that the
core of my question really is about ipython, not about using __main__ as
a mailbox!
Thanks for helping
JF
More information about the IPython-user
mailing list