On Tue, Mar 19, 2013 at 4:40 PM, Gary Oberbrunner <ga...@oberbrunner.com> wrote: > I must be failing to understand something. I'm running Emacs 24.3 on > Windows, with latest trunk org-mode. I can't get python functions to > persist across blocks in session mode. Here's my foo.org: > > =============== > > * My Document > #+BEGIN_SRC python :exports results :results output :session > def foo(x): > return x+1 > print "hi" > #+END_SRC > > #+RESULTS: > : hi > > #+BEGIN_SRC python :exports results :results output :session > print foo(100) > print "bye" > #+END_SRC > > ======================== > > In session mode, shouldn't foo be defined in the second python block? When > I export this, I get "NameError: name 'foo' is not defined" > > I may be doing something wrong, because if I name my python session, I never > see a buffer of that name, and I expected to. Any help? > > -- > Gary
You should probably post your babel configuration from .emacs. This works for me (mostly). I'm using python 3.3 and so the print function has changed to requiring parentheses. I can switch to a buffer called *Python*, however, and =print("hi")= works fine. If I change to =print(foo(100))=, I get 101 in the #+RESULTS block. It's probably got something to do with your setup; taking a look at your config should help others help you out. Best regards, John