emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] python sessions


From: Nick Dokos
Subject: Re: [O] python sessions
Date: Tue, 19 Mar 2013 23:07:19 -0400

John Hendy <address@hidden> wrote:

> On Tue, Mar 19, 2013 at 4:40 PM, Gary Oberbrunner <address@hidden> 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.
> 

I don't - I get the same error as Gary.

And looking at the code of org-babel-python-initiate-session-by-key,
I don't understand how it's supposed to work: python-buffer is nil
to begin with; the cond takes the first branch and starts a python session.
When we come to

      (setq org-babel-python-buffers
            (cons (cons session python-buffer)
                  (assq-delete-all session org-babel-python-buffers)))

python-buffer is still nil, so we are cooked.

Maybe python-buffer was set as a side-effect of run-python in earlier
versions of emacs? If so, it does not seem to be the case now.

Nick

Org-mode version 8.0-pre (release_8.0-pre-144-g855dcf.dirty @ 
/home/nick/elisp/org-mode/lisp/)
GNU Emacs 24.3.50.2 (x86_64-unknown-linux-gnu, GTK+ Version 2.24.4) of 
2012-12-29 on alphaville



reply via email to

[Prev in Thread] Current Thread [Next in Thread]