Ken Mankoff <mank...@gmail.com> writes: > 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'
I believe that's the expected behaviour: the defaults value of :results for python (and most other) source blocks is "value" and the print statement has no value. If you want the output to appear in the results, try :results output. Nick