On Tue, 14 Jan 2014, Ken Mankoff 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.
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.
Hmm. If I run IPython instead of regular python by setting this:
(setq org-babel-python-command "ipython --pylab --pdb --nosep")
Then org does not hang. It returns as expected. However, the
capturing of output doesn't seem to work right.
In Org, the following:
#+begin_src python :session foo
x = 42
print x
#+end_src
Produces no RESULTS, and in the Python *foo* buffer I see:
In [8]: x = 42
In [9]: print x
42
In [10]:
open('/var/folders/60/jb7kfrsn2jd90hpcgj4m_wrc0000gn/T/babel-35562TZV/python-3$
In [11]: 'org_babel_python_eoe'
Out[11]: 'org_babel_python_eoe'
But if I remove the "print" statment in Org:
#+begin_src python :session foo
x = 42
x
#+end_src
Then the RESULTS shows me 42, and the Python *foo* buffer is:
In [12]: x = 42
In [13]: x
Out[13]: 42
In [14]:
open('/var/folders/60/jb7kfrsn2jd90hpcgj4m_wrc0000gn/T/babel-35562TZV/python-3$
In [15]: 'org_babel_python_eoe'
In [15]: Out[15]: 'org_babel_python_eoe'