emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] python :session does return


From: John Hendy
Subject: Re: [O] python :session does return
Date: Wed, 15 Jan 2014 15:08:27 -0600

On Wed, Jan 15, 2014 at 6:22 AM, Ken Mankoff <address@hidden> wrote:
> Hi John,
>
> Yes, you and others in that thread seem to be experiencing the same problem,
> although there are also different issues discussed there.
>
> I'm a bit surprised... With the popularity of python I would expect more org
> users to have run into this and it to be fixed, but perhaps it isn't as
> widely used as I thought. Anyway, it is now usable even if the 'print'
> statements don't show up.

Sorry I haven't been following along quite as closely as I probably
should have... I booted into Linux to remove the issue of setting up
python on my Windows partition. Are my results contrary to what's been
happening to you?


#+begin_src ~/Desktop/test.org

* heading

Using =:results output=

#+BEGIN_SRC python :results output :session transect
import numpy as np
x = np.arange(12)
print x
#+END_SRC

#+RESULTS:
:
: >>> [ 0  1  2  3  4  5  6  7  8  9 10 11]

#+end_src

#+begin_src ~/Desktop/test.org

* heading

I can also use =:results value= and it spits out an org table

#+BEGIN_SRC python :results value :session transect
import numpy as np
x = np.arange(12)
x
#+END_SRC

#+RESULTS:
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |

#+end_src

#+begin_src Emacs *transect* buffer

>>> import numpy as np
>>> x = np.arange(12)
>>> print x
[ 0  1  2  3  4  5  6  7  8  9 10 11]
>>>
>>>
>>>
>>> 'org_babel_python_eoe'
'org_babel_python_eoe'
>>>

#+end_src

#+begin_src .emacs

;; Arch linux installs python3 by default, and python is bound to it
;; need to set this variable to make sure we're using python v2
(setq org-babel-python-command "python2")

#+end_src

$ python2 --version
Python 2.7.6

M-x org-version
Org-mode version 8.2.3c (release_8.2.3c-227-g54a64f @
/home/jwhendy/.elisp/org.git/lisp/)

$ emacs --version
GNU Emacs 24.3.1

I think the :session name -> a *name* session is still a bit goofy,
but I at the very least I wanted to share that I don't get any hanging
behavior and seem to get coherent results out of a python babel code
block.


Best regards,
John

>
>   -k.
>
>
>
> On Tue, Jan 14, 2014 at 6:04 PM, John Hendy <address@hidden> wrote:
>>
>> On Tue, Jan 14, 2014 at 7:38 AM, Ken Mankoff <address@hidden> wrote:
>> >
>> > I've seen various historical issues with :session but it seems I may
>> > have a
>> > different problem. This is the latest org in emacs 24.3. If I do not
>> > have
>> > :session, then everything works just fine.
>> >
>>
>> This sounded familiar to me, so I googled around for Org mailing list
>> discussions I was involved in related to python. Does this shed any
>> new light?
>> - https://www.mail-archive.com/address@hidden/msg68542.html
>>
>> Seems that the discussion ended with the possibility that it was an
>> emacs change to python.el, and not related to Org, but I'm not sure if
>> any actions were ever taken regarding that. In any case, the
>> discussion features a discrepancy between python behavior with
>> `:session name` and without, so it seemed like a possible candidate to
>> pass along!
>>
>>
>>
>> Best regards,
>> John
>>
>> > If I C-c C-c in the following code:
>> >
>> > #+BEGIN_SRC python :session transect
>> > import numpy as np
>> > x = np.arange(12)
>> > #+END_SRC
>> >
>> > Emacs hangs the first time with minibuffer message of "Sent
>> > python-eldoc-setup-code". If I C-g, I can edit the org buffer again. All
>> > other invocations of that code and the minibuffer message is "executing
>> > Python code block...", but still emacs hangs until I C-g.
>> >
>> > If I look at the *transect* buffer, I see the following. The code runs
>> > just
>> > fine, but for some reason it does not return.
>> >
>> >   -k.
>> >
>> >
>> >
>> > Enthought Canopy Python 2.7.3 | 64-bit | (default, Dec  2 2013,
>> > 16:19:29)
>> > [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
>> > Type "help", "copyright", "credits" or "license" for more information.
>> > import numpy as np
>> > Start .pythonrc
>> > End .pythonrc
>> >>>>
>> >>>> import numpy as np
>> >
>> > x = np.arange(12)
>> > x = np.arange(12)
>> >
>> >
>> >
>> > open('/var/folders/60/jb7kfrsn2jd90hpcgj4m_wrc0000gn/T/babel-28022EFF/python-28022Yjm',
>> > 'w').write(str(_))
>> >
>> > open('/var/folders/60/jb7kfrsn2jd90hpcgj4m_wrc0000gn/T/babel-28022EFF/python-28022Yjm',
>> > 'w').write(str(_))
>> >
>> >
>> >
>> >
>> > 'org_babel_python_eoe'
>> > 'org_babel_python_eoe'
>> >>>>
>> >>>> >>> >>> >>> >>> >>> Traceback (most recent call last):
>> >
>> >   File "<stdin>", line 1, in <module>
>> > NameError: name '_' is not defined
>> >>>>
>> >>>> >>> >>> 'org_babel_python_eoe'
>> >>>> import numpy as np
>> >
>> > import numpy as np
>> > x = np.arange(12)
>> >>>>
>> >>>> x = np.arange(12)
>> >
>> >
>> >>>>
>> >
>> > open('/var/folders/60/jb7kfrsn2jd90hpcgj4m_wrc0000gn/T/babel-28022EFF/python-28022lts',
>> > 'w').write(str(_))
>> >>>>
>> >>>>
>> >
>> > open('/var/folders/60/jb7kfrsn2jd90hpcgj4m_wrc0000gn/T/babel-28022EFF/python-28022lts',
>> > 'w').write(str(_))
>> >
>> >>>>
>> >
>> >>>>
>> > 'org_babel_python_eoe'
>> >>>>
>> >>>> 'org_babel_python_eoe'
>> >
>> > 'org_babel_python_eoe'
>> >>>>
>> >>>>
>> >
>> >
>> >
>> >
>
>



reply via email to

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