[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] python sessions
From: |
Ivan Andrus |
Subject: |
Re: [O] python sessions |
Date: |
Mon, 25 Mar 2013 13:30:50 -0600 |
On Mar 25, 2013, at 11:27 AM, Andreas Röhler <address@hidden> wrote:
> Am 25.03.2013 17:43, schrieb Eric Schulte:
>> John Hendy <address@hidden> writes:
>>
>>> On Mon, Mar 25, 2013 at 11:01 AM, Ista Zahn <address@hidden> wrote:
>>>> On Mon, Mar 25, 2013 at 11:40 AM, Eric Schulte <address@hidden> wrote:
>>>>> John Hendy <address@hidden> writes:
>>>>>
>>>>>> On Sun, Mar 24, 2013 at 9:38 PM, Nick Dokos <address@hidden> wrote:
>>>>>>> Eric Schulte <address@hidden> wrote:
>>>>>>>
>>>>>>>>>
>>>>>>>>> From participating in evaluating code throughout the discussion and
>>>>>>>>> catching the comments throughout, I'd say yes, at least in terms of
>>>>>>>>> how other babel languages function. In other words =#+begin_src R
>>>>>>>>> :session foo= creates an R session named "foo" whereas doing the same
>>>>>>>>> with =python= instead of =R= does not yield a named session.
>>>>>>>>>
>>>>>>>>> From what others experienced, however, the functionality was working
>>>>>>>>> correctly (results were persistent across blocks and two differently
>>>>>>>>> names blocks created two different sessions), just not named
>>>>>>>>> correctly.
>>>>>>>>>
>>>>>>>>
>>>>>>>> See the cond form starting at line 169 in ob-python.el. Different
>>>>>>>> session functionality is used based on the `org-babel-python-mode'
>>>>>>>> variable, and on the version of Emacs in use (prior to 24.1 or not).
>>>>>>>>
>>>>>>>> The branch taken when `org-babel-python-mode' equals 'python is
>>>>>>>> certainly broken, as it never saves the name of the newly created
>>>>>>>> buffer, so session re-use and use of multiple named sessions probably
>>>>>>>> works only when `org-babel-python-mode' equals 'python-mode.
>>>>>>>>
>>>>>>>
>>>>>>> That's me: org-babel-python-mode's value is python, so it's no wonder
>>>>>>> it's broken given what Eric says. I'm on emacs 24.3.50 where there is
>>>>>>> python.el but no python-mode.el. I tried the "cheap" workaround of
>>>>>>> switching the value to python-mode, but that does a (require
>>>>>>> 'python-mode) somewhere, so that option is out as well.
>>>>>>
>>>>>> I'm on Emacs 24.3.1 and have no python-mode.el, either (only
>>>>>> python.el). My setup is working correctly (again, with the caveat of
>>>>>> not having named sessions).
>>>>>>
>>>>>
>>>>> It sounds like we have the same setup, and the following un-named
>>>>> session example does not work for me. The first code block evaluates
>>>>> successfully, but it doesn't appear to be having any impact on the
>>>>> default session (e.g., in the *Python* buffer).
>>>>>
>>>>> Returns the value of x as expected.
>>>>>
>>>>> #+begin_src python :session
>>>>> x = 1
>>>>> return x
>>>>> #+end_src
>>>>>
>>>>> #+RESULTS:
>>>>> : 1
>>>>>
>>>>> #+begin_src python :session
>>>>> return x
>>>>> #+end_src
>>>>>
>>>>> #+RESULTS:
>>>>>
>>>>> The second code block /should/ have access to the x variable defined
>>>>> previous, but instead it throws an error because x is undefined.
>>>>>
>>>>> Currently I'd say session support for python is completely broken.
>>>>
>>>> As of this morning I've joined the "it does not work" crowd. Python
>>>> sessions worked for me last week, but are now completely broken for me
>>>> in the way Eric and others describe.
>>>
>>> Interesting... checked out back to that commit
>>> (eff59a15d76647ce8282626b9eb463dc3706d56e) and it still doesn't work.
>>> On a whim, I checked my pacman log (Arch's install system) and
>>> coincidentally on Mar 20 /after/ I wrote that post in which things
>>> work, I ran a system package update.
>>>
>>> $ grep -i emacs /var/log/pacman.log
>>>
>>> [2013-03-20 12:51] upgraded emacs (24.2-4 -> 24.3-1)
>>>
>>> Using the Arch Rollback Machine, I downloaded Emacs 24.2.4 and
>>> downgraded (also required downgrading imageMagick from 6.8.3.10 ->
>>> 6.8.2.3). Now it works again (refer to the reproducible example from
>>> the mailing list post):
>>> - http://www.mail-archive.com/address@hidden/msg68238.html
>>>
>>> Eric, your example fails for me. I get:
>>>
>>
>> Yes, because my example only works in external (non session) execution
>> with the current buggy code, where as your example works with session
>> execution in the old working code.
>>
>>>
>>>>>> x = 1
>>>>>> return x
>>> File "<stdin>", line 1
>>> SyntaxError: 'return' outside function
>>>
>>> This works, hoever:
>>>
>>> #+begin_src python :session
>>> x = 1
>>> x
>>> #+end_src
>>>
>>> #+RESULTS:
>>> : 1
>>>
>>> #+begin_src python :session
>>> x
>>> #+end_src
>>>
>>> #+RESULTS:
>>> : 1
>>>
>>> So, with emacs 24.2.4 and current Org-mode (pulled just now) and clean
>>> make, *both* named and un-named sessions work for me on Arch Linux.
>>>
>>
>> Aha! Thanks for sleuthing this out. So the problem lies in changes to
>> the python.el distributed with Emacs. I don't suppose we can ask
>> whoever made these changes to python.el to fix the breakage they've
>> caused in Org-mode?
>>
>> Thanks,
>>
>
> Please give me some time still to investigate. Still doubt it's python.el
> But if yes, probably will be able to tell more.
I think 24.3 is where they changed python.el to fgallina's python.el. So I'd
be
willing to bet that it _is_ the problem since it's a complete rewrite and many
things changed.
-Ivan
- Re: [O] python sessions, (continued)
- Re: [O] python sessions, Ista Zahn, 2013/03/25
- Re: [O] python sessions, John Hendy, 2013/03/25
- Re: [O] python sessions, Eric Schulte, 2013/03/25
- Re: [O] python sessions, Andreas Röhler, 2013/03/25
- Re: [O] python sessions, John Hendy, 2013/03/25
- Re: [O] python sessions, Ista Zahn, 2013/03/25
- Re: [O] python sessions,
Ivan Andrus <=
- Re: [O] python sessions, Andreas Röhler, 2013/03/24
- Re: [O] python sessions, John Hendy, 2013/03/24
- Re: [O] python sessions, Andreas Röhler, 2013/03/24
- Re: [O] python sessions, Nick Dokos, 2013/03/24
- Re: [O] python sessions, John Hendy, 2013/03/24
- Re: [O] python sessions, Nick Dokos, 2013/03/24
- Re: [O] python sessions, Andreas Röhler, 2013/03/25
- Re: [O] python sessions, Eric Schulte, 2013/03/25
- Re: [O] python sessions, Andreas Röhler, 2013/03/26
- Re: [O] python sessions, Eric Schulte, 2013/03/26