I think we're doing pretty good, except that people can
> always kill themselves by running true WX/GTK apps via
> @run. IPython is really not made for this, it can only
> handle gracefully show() calls from pure matplotlib
> scripts, not full-blown GUI apps. But I think we have a
> very reasonable environment at this point for most usage
> cases.
It's looks like about 90% of your problems result from trying to cross
GUI backends within IPython. Is this fair to say?
As far as I'm concerned I don't have a problem with these cases.
Caveat emptor -- the user should be forewarned and expect disaster if
they try and run GUI specific examples from ipython. Perhaps you
should say pylab only supports pure matlab interface matplotlib at
this point.
From your end I see why it's a concern - you don't want any run
command to break or freeze ipython. If you have any ideas on what we
should do I'll be happy to help on the matplotlib end, but I don't
have any off the top of my head.
I'll comment on some of the non cross-GUI problems below....
> // These don't run with LANG==de_DE.UTF-8, but are OK
> with en_US.UTF-8 run date_demo_convert.py run
> date_demo1.py run date_demo2.py run date_demo_rrule.py
> run finance_demo.py
Do they run from the shell with LANG==de_DE.UTF-8? Any idea what is
going wrong?
> run print_stdout.py
This is an example script to show how to print png to stdout from agg.
Perhaps this fails because ipython doesn't really expect a png coming
in from stdout? The header of that file states
# print png to standard out
# usage: python print_stdout.py > somefile.png
> ****run ftface_props.py
---> 71 font.jdh = 'hi'
I was testing to see if I could setattr on my extension class. I'll
just remove this line from the example
> ****run movie_demo.py: with WX backend it doesn't make
> the .png frames at all with WXAgg, it runs fine but
> fails to make the movie: ... Saving frame _tmp049.png
> Making movie animation.mpg - this make take a while sh:
> line 1: mpeg2encode: command not found convert: Delegate
> failed (mpeg2encode "%i" "%o"). convert: Delegate
> failed (mpeg2encode "%i" "%o") [No such file or
> directory].
> Symlinking mpeg2encode to mpeg2enc (the real binary)
> doesn't help, a different error comes back.
> I got it to work by commenting out the convert call and
> reverting to the mencoder one. Great!
Yes, this fails on my system too. This line works
os.system("convert _tmp*.png animation.mpg")
but I wasn't able to get convert to make mpg. I'll fixed this in the
examples dir and made the mencoder line the default.
> ****run vertical_ticklabels.py
> ---------------------------------------------------------------------------
> NameError Traceback (most recent call last)
> /home/fperez/code/python/pylab/examples/vertical_ticklabels.py
> 3 4 plot([1,2,3,4], [1,4,9,16]) 5 xticks([1,2,3,4],
> ['Frogs', 'Hogs', 'Bogs', 'Slogs'])
----> 6 set(t, 'rotation', 'vertical')
> 7 show()
> NameError: name 't' is not defined WARNING: Failure
> executing file: <vertical_ticklabels.py>
Fixed. This also pointed me a bug in the new commands xticks and
yticks; they weren't returning the things they claimed in the doc
string.
Thanks for the detailed notes.
JDH