From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Hendy Subject: Re: python sessions Date: Tue, 19 Mar 2013 19:04:13 -0500 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Return-path: Received: from eggs.gnu.org ([208.118.235.92]:33151) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UI6Vr-0005EZ-LZ for emacs-orgmode@gnu.org; Tue, 19 Mar 2013 20:04:16 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UI6Vq-0004y9-L9 for emacs-orgmode@gnu.org; Tue, 19 Mar 2013 20:04:15 -0400 Received: from mail-oa0-f41.google.com ([209.85.219.41]:61825) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UI6Vq-0004y4-GI for emacs-orgmode@gnu.org; Tue, 19 Mar 2013 20:04:14 -0400 Received: by mail-oa0-f41.google.com with SMTP id i10so1211638oag.14 for ; Tue, 19 Mar 2013 17:04:13 -0700 (PDT) In-Reply-To: List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Gary Oberbrunner Cc: Orgmode Mailing List On Tue, Mar 19, 2013 at 4:40 PM, Gary Oberbrunner 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