* python :session does return @ 2014-01-14 13:38 Ken Mankoff 2014-01-14 15:34 ` Ken Mankoff 2014-01-14 23:04 ` John Hendy 0 siblings, 2 replies; 11+ messages in thread From: Ken Mankoff @ 2014-01-14 13:38 UTC (permalink / raw) To: Org-mode 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. 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' >>> ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: python :session does return 2014-01-14 13:38 python :session does return Ken Mankoff @ 2014-01-14 15:34 ` Ken Mankoff 2014-01-14 16:32 ` Nick Dokos 2014-01-14 23:04 ` John Hendy 1 sibling, 1 reply; 11+ messages in thread From: Ken Mankoff @ 2014-01-14 15:34 UTC (permalink / raw) To: Org-mode 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' ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: python :session does return 2014-01-14 15:34 ` Ken Mankoff @ 2014-01-14 16:32 ` Nick Dokos 2014-01-14 17:48 ` Ken Mankoff 0 siblings, 1 reply; 11+ messages in thread From: Nick Dokos @ 2014-01-14 16:32 UTC (permalink / raw) To: emacs-orgmode Ken Mankoff <mankoff@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 ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: python :session does return 2014-01-14 16:32 ` Nick Dokos @ 2014-01-14 17:48 ` Ken Mankoff 2014-01-14 17:55 ` Nick Dokos 0 siblings, 1 reply; 11+ messages in thread From: Ken Mankoff @ 2014-01-14 17:48 UTC (permalink / raw) To: Nick Dokos; +Cc: Org-mode [-- Attachment #1: Type: text/plain, Size: 2389 bytes --] On Tue, Jan 14, 2014 at 11:32 AM, Nick Dokos <ndokos@gmail.com> wrote: > Ken Mankoff <mankoff@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. > Nope. If I don't use IPython, everything hangs regardless of :results. When I do use IPython, ":results output" doesn't show "print" statement. The plain "x" showing up in the output goes away if I use ":results output". -k. [-- Attachment #2: Type: text/html, Size: 3412 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: python :session does return 2014-01-14 17:48 ` Ken Mankoff @ 2014-01-14 17:55 ` Nick Dokos 2014-01-14 18:25 ` Ken Mankoff 0 siblings, 1 reply; 11+ messages in thread From: Nick Dokos @ 2014-01-14 17:55 UTC (permalink / raw) To: emacs-orgmode Ken Mankoff <mankoff@gmail.com> writes: > On Tue, Jan 14, 2014 at 11:32 AM, Nick Dokos <ndokos@gmail.com> wrote: > > Ken Mankoff <mankoff@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. > > > > 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. > > Nope. If I don't use IPython, everything hangs regardless of :results. > When I do use IPython, ":results output" doesn't show "print" statement. > The plain "x" showing up in the output goes away if I use ":results output". > I'm not talking about the hang: that's a problem (although I can't reproduce it, so it may -or may not - be a problem with your particular setup.) I was specifically addressing this comment: > However, the capturing of output doesn't seem to work right. Nick ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: python :session does return 2014-01-14 17:55 ` Nick Dokos @ 2014-01-14 18:25 ` Ken Mankoff 0 siblings, 0 replies; 11+ messages in thread From: Ken Mankoff @ 2014-01-14 18:25 UTC (permalink / raw) To: Nick Dokos; +Cc: Org-mode On Tue, 14 Jan 2014, Nick Dokos wrote: >> >> When I do use IPython, ":results output" doesn't show "print" >> statement. The plain "x" showing up in the output goes away if I >> use ":results output". >> > > I'm not talking about the hang: that's a problem (although I can't > reproduce it, so it may -or may not - be a problem with your > particular setup.) > > I was specifically addressing this comment: > >> However, the capturing of output doesn't seem to work right. > Yes I got your comment. The :results output doesn't work either. -k. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: python :session does return 2014-01-14 13:38 python :session does return Ken Mankoff 2014-01-14 15:34 ` Ken Mankoff @ 2014-01-14 23:04 ` John Hendy 2014-01-15 12:22 ` Ken Mankoff 1 sibling, 1 reply; 11+ messages in thread From: John Hendy @ 2014-01-14 23:04 UTC (permalink / raw) To: Ken Mankoff; +Cc: Org-mode On Tue, Jan 14, 2014 at 7:38 AM, Ken Mankoff <mankoff@gmail.com> 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/emacs-orgmode@gnu.org/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' >>>> >>>> > > > > ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: python :session does return 2014-01-14 23:04 ` John Hendy @ 2014-01-15 12:22 ` Ken Mankoff 2014-01-15 19:01 ` Eric Schulte 2014-01-15 21:08 ` John Hendy 0 siblings, 2 replies; 11+ messages in thread From: Ken Mankoff @ 2014-01-15 12:22 UTC (permalink / raw) To: John Hendy; +Cc: Org-mode [-- Attachment #1: Type: text/plain, Size: 3353 bytes --] 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. -k. On Tue, Jan 14, 2014 at 6:04 PM, John Hendy <jw.hendy@gmail.com> wrote: > On Tue, Jan 14, 2014 at 7:38 AM, Ken Mankoff <mankoff@gmail.com> 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/emacs-orgmode@gnu.org/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' > >>>> > >>>> > > > > > > > > > [-- Attachment #2: Type: text/html, Size: 4959 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: python :session does return 2014-01-15 12:22 ` Ken Mankoff @ 2014-01-15 19:01 ` Eric Schulte 2014-01-15 21:08 ` John Hendy 1 sibling, 0 replies; 11+ messages in thread From: Eric Schulte @ 2014-01-15 19:01 UTC (permalink / raw) To: Ken Mankoff; +Cc: Org-mode I think the issue here is that python users seem less likely (per user on average) to edit the related Org-mode support (i.e., ob-python.el) than users of some other languages which may be less popular in the large but have better Org-mode support. Also, as a maintainer of Org-mode's code block support, I personally do not use Python. Best, Ken Mankoff <mankoff@gmail.com> writes: > 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. > > -k. > > > > On Tue, Jan 14, 2014 at 6:04 PM, John Hendy <jw.hendy@gmail.com> wrote: > >> On Tue, Jan 14, 2014 at 7:38 AM, Ken Mankoff <mankoff@gmail.com> 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/emacs-orgmode@gnu.org/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' >> >>>> >> >>>> >> > >> > >> > >> > >> -- Eric Schulte https://cs.unm.edu/~eschulte PGP: 0x614CA05D ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: python :session does return 2014-01-15 12:22 ` Ken Mankoff 2014-01-15 19:01 ` Eric Schulte @ 2014-01-15 21:08 ` John Hendy 2014-01-16 20:14 ` Ken Mankoff 1 sibling, 1 reply; 11+ messages in thread From: John Hendy @ 2014-01-15 21:08 UTC (permalink / raw) To: Ken Mankoff; +Cc: Org-mode On Wed, Jan 15, 2014 at 6:22 AM, Ken Mankoff <mankoff@gmail.com> 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 <jw.hendy@gmail.com> wrote: >> >> On Tue, Jan 14, 2014 at 7:38 AM, Ken Mankoff <mankoff@gmail.com> 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/emacs-orgmode@gnu.org/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' >> >>>> >> >>>> >> > >> > >> > >> > > > ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: python :session does return 2014-01-15 21:08 ` John Hendy @ 2014-01-16 20:14 ` Ken Mankoff 0 siblings, 0 replies; 11+ messages in thread From: Ken Mankoff @ 2014-01-16 20:14 UTC (permalink / raw) To: John Hendy; +Cc: Org-mode Hi John, On Wed, 15 Jan 2014, John Hendy wrote: > On Wed, Jan 15, 2014 at 6:22 AM, Ken Mankoff <mankoff@gmail.com> wrote: > Are my results contrary to what's been happening to you? Actually things now seem to be working. All cases. No hanging when I run Python in a session, and return and print work when running IPython. I wrote a test example, load it with emacs -q and then load a minimal org setup in a code block (I think I'm just starting to get the hang of some basic lisp and tangling code in Org). I've tried all possible cases (yes/no session, and results of default/output/value) and it all seems to be working. I then repeated it all with IPython instead of default Python. Output results are a bit ugly when using IPython. If I get a chance I'll look into the code. Since regular python output doesn't print the startup info, I assume the same can be done for IPython. It should just ignore everything until the first "In [1]:" text appears. Perhaps the previous issues were due to a complicated org setup. Test file follows. Cheers, -k. * Intro This is a test file for Python + Emacs. I'm loading this file running "emacs -q test.org" to try to simplify the setup ** Setup For running Python and other stuff #+BEGIN_SRC emacs-lisp (setq org-confirm-babel-evaluate nil) ;; don't ask to eval code (org-babel-do-load-languages 'org-babel-load-languages '((python . t) (sh . t) (emacs-lisp . t) )) #+END_SRC #+RESULTS: | (python . t) | (sh . t) | (emacs-lisp . t) | ** System setup: #+BEGIN_SRC sh :results output /usr/local/bin/emacs --version uname -a python -V # no ouput for some reason... # Python 2.7.3 -- 64-bit #+END_SRC #+RESULTS: : GNU Emacs 24.3.1 : Darwin 13.0.0 Darwin Kernel Version 13.0.0: Thu Sep 19 22:22:27 PDT 2013; xnu-2422.1.72~6/RELEASE_X86_64 x86_64 * Testing There are two tests per :output and per :session option. 1. 'foo' equal to 'print foo' 2. 'print foo'. ** No Session **** No Session, No Results #+BEGIN_SRC python print 'No Session, No Result' #+END_SRC #+RESULTS: : None #+BEGIN_SRC python return 'No Session, No Result' #+END_SRC #+RESULTS: : No Session, No Result **** No Session, Result Output #+BEGIN_SRC python :results output print 'No Session, Result Output' #+END_SRC #+RESULTS: *Warning: Does not run* #+BEGIN_SRC python :results output return 'No Session, Result Output' #+END_SRC #+RESULTS: **** No Session, Result Value #+BEGIN_SRC python :results value print 'No Session, Result Value' #+END_SRC #+RESULTS: : None #+BEGIN_SRC python :results value return 'No Session, Result Value' #+END_SRC #+RESULTS: : No Session, Result Value ** Yes Session **** Yes Session, No Results #+BEGIN_SRC python :session foo print 'No Session, No Result' #+END_SRC #+RESULTS: : None #+BEGIN_SRC python :session foo return 'No Session, No Result' #+END_SRC #+RESULTS: : No Session, No Result **** Yes Session, Result Output #+BEGIN_SRC python :results output :session foo print 'No Session, Result Output' #+END_SRC #+RESULTS: *Warning: Does not run* #+BEGIN_SRC python :results output :session foo return 'No Session, Result Output' #+END_SRC #+RESULTS: **** Yes Session, Result Value #+BEGIN_SRC python :results value :session foo print 'No Session, Result Value' #+END_SRC #+RESULTS: : None #+BEGIN_SRC python :results value :session foo return 'No Session, Result Value' #+END_SRC #+RESULTS: : No Session, Result Value * Second Try with IPython Execute the following and re-run the test code above. #+BEGIN_SRC emacs-lisp (setq org-babel-python-command "ipython --pylab --pdb --nosep") #+END_SRC #+RESULTS: : ipython --pylab --pdb --nosep ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2014-01-16 20:14 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-01-14 13:38 python :session does return Ken Mankoff 2014-01-14 15:34 ` Ken Mankoff 2014-01-14 16:32 ` Nick Dokos 2014-01-14 17:48 ` Ken Mankoff 2014-01-14 17:55 ` Nick Dokos 2014-01-14 18:25 ` Ken Mankoff 2014-01-14 23:04 ` John Hendy 2014-01-15 12:22 ` Ken Mankoff 2014-01-15 19:01 ` Eric Schulte 2014-01-15 21:08 ` John Hendy 2014-01-16 20:14 ` Ken Mankoff
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).